我是Kubernetes的新手。最近,我的Docker注册表URL从dockerhub.abc.com
更改为dockerhub.def.com
。我是否可以在Kubernetes pod的属性中更改此设置,以便下次从新注册表中提取?
答案 0 :(得分:1)
如果您使用机密信息来保存Docker注册表的授权令牌,则可以参考using private registry
我建议您使用机密。您需要做的就是创建一个新的机密或使用新的URL更新现有的机密,然后将此机密添加到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>
答案 1 :(得分:1)
通常,如果您明确限定映像名称以包含存储库名称,并且不依赖于非官方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 }}
然后您可以更改映像的存储库位置并重新部署。