kubectl为所有命名空间创建秘密docker-registry



我有一个用于测试的本地集群,我用自己编写的脚本启动它。在脚本中,我使用命令:

kubectl create secret docker-registry myname --namespace mynamespace --docker-server "my.server.com" --docker-username "user" --docker-password "pass"

对于该命名空间可以正常工作。

我的问题是,如果我可以在一个命令中为所有命名空间创建秘密(包括那些将在稍后创建的),而不仅仅是为特定的命名空间?

现在可以使用下面的代码为每个命名空间创建secret:

#!/usr/bin/env bash
set -eu
for namespace in $(kubectl get namespaces -o=json | jq -r ".items | .[] | .metadata.name"); do
kubectl create secret docker-registry myname --namespace "$namespace" --docker-server "my.server.com" --docker-username "user" --docker-password "pass" || true
done

然而,没有开箱即用的支持在每个新的命名空间中创建秘密。要做到这一点,您可以通过编写自定义操作符来扩展Kubernetes。参见:https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

最新更新