Openshift-confimap和pods之间的相关性

Openshift-confimap和pods之间的相关性,openshift,Openshift,有一个快速方法/oc命令可以获取哪个部署使用一个或多个configmap 在我的例子中,我需要知道应用configmap更新需要展开哪个部署 dc YAML文件上没有证据 提前谢谢 来自OpenShift 3.9中的 在DeploymentConfig中,这是从ConfigMap中提取所有环境变量的一节 spec: containers: ... envFrom: - configMapRef: name: env-config

有一个快速方法/oc命令可以获取哪个部署使用一个或多个configmap

在我的例子中,我需要知道应用configmap更新需要展开哪个部署

dc YAML文件上没有证据

提前谢谢

来自OpenShift 3.9中的

在DeploymentConfig中,这是从ConfigMap中提取所有环境变量的一节

spec:
  containers:
    ...
      envFrom: 
        - configMapRef:
            name: env-config
    ...
在中,可能值得在特定命名空间/项目中为关键字
configMap
对所有部署配置进行灰色映射,以检查是否已连接configMaps

$ oc get dc -o json -n $(oc project -q) | grep -A2 configMap
                                        "configMapRef": {
                                            "name": "printenv-config"
                                        }
假设从configmaps注入环境变量,可能有一种更简单的方法但是您也可以通过管道进入jq,并根据
envFrom
数组键不为null进行过滤

oc get dc -o json | jq -r '[.items[] | select(.spec.template.spec.containers[].envFrom[]? != null)]' | jq -c '.[] | {namespace: .metadata.namespace, dcname: .metadata.name, configMap: .spec.template.spec.containers[].envFrom[].configMapRef.name}'
结果:

{"namespace":"aps-env","dcname":"openshift-tasks","configMap":"another-config-map"}
{"namespace":"aps-env","dcname":"printenv","configMap":"printenv-config"}
{"dcname":"gogs","configMapName":"gogs-configmap"}
或者,您可以通过卷装载来装载configMap,在这种情况下,节是不同的,您需要相应地调整上述内容

"volumes": [
...
    {
        "configMap": {
            "defaultMode": 420,
            "name": "gogs"
        },
        "name": "config-volume"
    }
...
基于卷装入的configMap的不同查询

$ oc get dc -o json | jq -r '[.items[] | select(.spec.template.spec.volumes[]?.configMap != null)]' | jq -c '.[] | {dcname: .metadata.name, configMapName: .spec.template.spec.volumes[].configMap.name}' | grep -v null
结果:

{"namespace":"aps-env","dcname":"openshift-tasks","configMap":"another-config-map"}
{"namespace":"aps-env","dcname":"printenv","configMap":"printenv-config"}
{"dcname":"gogs","configMapName":"gogs-configmap"}