# Environment 1) Применим манифесты для создания configmap и запуск deployment Конфиг deployment-with-env.yaml: ``` --- apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 1 selector: matchLabels: app: my-app strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app: my-app spec: containers: - image: nginx:1.20 name: nginx env: - name: TEST value: foo ports: - containerPort: 80 resources: requests: cpu: 50m memory: 100Mi limits: cpu: 100m memory: 100Mi ``` Для этого выполним команду: ```bash kubectl apply -f deployment-with-env.yaml ``` 2) Проверяем результат Для этого выполним команду, подставив вместо < RANDOM > нужное значение(`автоподстановка по TAB`): ```bash kubectl describe pod my-deployment-< RANDOM > ``` Результат должен содержать: ```bash Environment: TEST: foo ``` 3) Создаем configmap configmap.yaml ```yaml --- apiVersion: v1 kind: ConfigMap metadata: name: my-configmap-env data: dbhost: postgresql DEBUG: "false" ``` deployment-with-env-cm.yaml ```yaml --- apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 1 selector: matchLabels: app: my-app strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app: my-app spec: containers: - image: nginx:1.20 name: nginx env: - name: TEST value: foo envFrom: - configMapRef: name: my-configmap-env ports: - containerPort: 80 resources: requests: cpu: 50m memory: 100Mi limits: cpu: 100m memory: 100Mi ``` Для этого выполним команду: ```bash kubectl apply -f configmap.yaml kubectl apply -f deployment-with-env-cm.yaml ``` 4) Проверяем результат Для этого выполним команду, подставив вместо < RANDOM > нужное значение(`автоподстановка по TAB`): ```bash kubectl exec -it my-deployment-< RANDOM > -- env ``` Результат должен содержать: ```bash TEST=foo dbhost=postgresql DEBUG=false ```