检查哪个部署(如果有)正在使用机密

Tom*_*mir 5 kubernetes kubernetes-helm kubernetes-secrets

我正在替换 Kubernetes 秘密,我想确保捕获集群中使用它的所有位置。

有没有一种方法可以在不阅读所有使用 K8s 或 helm 的部署 YAML 的情况下进行判断?

我们在同一个集群上部署了多个服务并共享秘密。有些使用 Helm,有些则不使用。

小智 5

您可以通过多种不同的方式使用秘密,它并不总是绑定为卷。因此,最方便的方法是检查秘密的命名空间,以查找所有可以在其规范中使用秘密的对象。

对于手动检查,这里有两个命令,一个用于检查 k8s 对象之间的某些秘密名称引用,第二个命令有助于查找包含秘密引用的对象。

kubectl get deployments,statefulsets,daemonsets,cronjobs,jobs,pods -n namespace-name -o yaml | grep  secret_name

kubectl get deployments,statefulsets,daemonsets,cronjobs,jobs,pods -n namespace-name -o yaml | grep -i -e "^ name:"  -e "^  kind" -e secret_name
Run Code Online (Sandbox Code Playgroud)

注释可以通过删除grep -v annotation -v last-applied或者可能更容易删除grep -v "\"kind"