我是Kubernetes的新手。最近我的Docker注册表网址从dockerhub.abc.com
更改为dockerhub.def.com
。是否有可能我可以在Kubernetes pod的属性中更改它,以便下次从新注册表中获取?
如果您使用机密来保存Docker注册表的授权令牌,可以参考using private registry
我建议你使用秘密。您需要做的就是创建一个新秘密或使用您的新网址更新现有秘密,然后将此秘密添加到您的Pod的.yaml中。
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: <your-secret-name>
通常,如果您明确限定图像名称以包含存储库名称,并且不依赖于非官方Docker Hub的默认值,您会发现它最简单
image: dockerhub.abc.com/dist/image:1.2.3
在这种情况下,您只需更改部署中的映像名称即可
image: dockerhub.def.com/dist/image:1.2.3
如果您使用像Helm这样的系统来管理您的Kubernetes清单,您可能会发现将图像库名称和/或存储库包含在其值文件中会很有帮助
image: dockerhub.abc.com/dist/image
tag: 1.2.3
image: {{ printf "%s:%s" .Values.image .Values.tag }}
然后你可以只改变图像的存储库位置并重新部署。