首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ConfigMap的名称获取引用给定ConfigMap的所有部署

使用ConfigMap的名称获取引用给定ConfigMap的所有部署
EN

DevOps用户
提问于 2020-10-20 12:32:37
回答 1查看 450关注 0票数 1

假设我有一个ConfigMap

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: london-tz-config
data:
  SERVER_TIMEZONE: "Europe/London"

我还有大约50个不同的部署。假设其中有20个使用london-tz-config ConfigMap来设置它们的环境,如下所示

代码语言:javascript
复制
  template:
    metadata:
      labels:
        app: echo-app
    spec:
      containers:
        - name: echo-app-container
          image: ealen/echo-server:latest
          ports:
            - containerPort: 8080
          env:
            - name: SERVER_TIMEZONE
              valueFrom:
                configMapKeyRef:
                  name: london-tz-config    # Reference our ConfigMap here
                  key: SERVER_TIMEZONE

如果不手动检查集群,我就不知道哪个部署在任何给定的时间使用哪个ConfigMaps。

是否有一种方法可以要求Kubernetes向我展示通过其ConfigMap属性包含对给定metadata.name的引用的所有部署?

无论是kubectl还是Kubernetes都可以。

EN

回答 1

DevOps用户

回答已采纳

发布于 2020-10-20 21:04:53

您可以使用kubectl get -o json并使用jq解析输出来迭代部署,匹配任何所需的configMapKeyRef.name并返回部署的uniq列表。

这应该是可行的:

代码语言:javascript
复制
kubectl get deployments --all-namespaces -o json | jq -r '.items | map(select(.spec.template.spec.containers[]?.env[]?.valueFrom.configMapKeyRef.name == "london-tz-config" ) | .metadata.name) | .[]' | uniq
票数 2
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/12607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档