Использование OpenShift ConfigMaps в DeploymentConfigurations

В документации OpenShift для ConfigMaps ( https://docs.openshift.com/enterprise/3.2/dev_guide/configmaps.html) приведен только пример использования в модулях. Но можно ли использовать ConfigMaps также внутри DeploymentConfig?

Объявления параметров внутри Pods выглядят аналогично DeploymentConfig.

apiVersion: v1
kind: Pod
metadata:
  name: dapi-test-pod
spec:
  containers:
    - name: test-container
      image: gcr.io/google_containers/busybox
      command: [ "/bin/sh", "-c", "env" ]
      env:
        - name: SPECIAL_LEVEL_KEY
          valueFrom:
            configMapKeyRef:
              name: special-config
              key: special.how
        - name: SPECIAL_TYPE_KEY
          valueFrom:
            configMapKeyRef:
              name: special-config
              key: special.type
  restartPolicy: Never

Оба используют env имущество.

"spec": {
                        "containers": [
                            {
                                "env": [
                                    {
                                        "name": "PORT",
                                        "value": "${MF-PORT}"
                                    },
                                    {
                                        "name": "NODE_ENV",
                                        "value": "${MF-ENVIRONMENT}"
                                    }
                                ],

1 ответ

Решение

Да, вы можете использовать ConfigMap из DeploymentConfig,

Если у вас уже есть развернутое приложение, вы можете добавить переменные окружения, установив их из карты конфигурации, с помощью команды:

oc set env dc/blog --from configmap/blog-settings

Вы можете увидеть, как это приводит к изменениям в конфигурации развертывания, выполнив вместо этого:

oc set env dc/blog --from configmap/blog-settings --dry-run -o json

Например, если карта конфигурации была изначально создана с использованием:

oc create configmap blog-settings \
      --from-literal BLOG_BANNER_COLOR=blue \
      --from-literal BLOG_SITE_NAME="My Blog"

это приведет к изменениям в конфигурации развертывания:

                "env": [
                    {
                        "name": "BLOG_BANNER_COLOR",
                        "valueFrom": {
                            "configMapKeyRef": {
                                "name": "blog-settings",
                                "key": "BLOG_BANNER_COLOR"
                            }
                        }
                    },
                    {
                        "name": "BLOG_SITE_NAME",
                        "valueFrom": {
                            "configMapKeyRef": {
                                "name": "blog-settings",
                                "key": "BLOG_SITE_NAME"
                            }
                        }
                    }
                ],

Вы можете найти подробную информацию об использовании карт конфигурации и секреты в бесплатной электронной книге по OpenShift по адресу:

Другие вопросы по тегам