在 DeploymentConfigurations 中使用 OpenShift ConfigMap

Usage of OpenShift ConfigMaps in DeploymentConfigurations

ConfigMaps 的 OpenShift 文档 (https://docs.openshift.com/enterprise/3.2/dev_guide/configmaps.html) 只是 Pods 中的一个用法示例。但是我也可以在 DeploymentConfig 中使用 ConfigMaps 吗?

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}"
                                    }
                                ],

是的,您可以使用 DeploymentConfig 中的 ConfigMap

如果您已经部署了应用程序,则可以使用以下命令从配置映射中设置环境变量:

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 上的免费电子书中找到有关使用配置映射和机密的详细信息,网址为: