配置一个全局的镜像拉取密钥, 后续拉镜像就不用每个 deployment 单独配置了。

在每个 namespace 下都有一个默认的 service account, 假设命名空间是 test

使用 kubectl get sa -n test 查看
image.png

查看 serviceaccount 信息

1
kubectl describe sa -n test

image.png

Image pull secrets 是此 namespace 下拉取镜像的秘钥

1.创建 secret

1
kubectl create secret -p docker-registry registrykey --namespace=test --docker-username=<harbor_user> --docker-password=<harbor_password> --docker-server=<harbor_url>

2.配置进 service account

1
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "registrykey"}]}' -n test

至此在 test 下拉取镜像无需配置镜像拉取秘钥了