0

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

Pod 中的参数声明与 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}"
                                    }
                                ],
4

1 回答 1

6

是的,您可以ConfigMapDeploymentConfig.

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

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

于 2018-04-17T06:06:36.403 回答