拉取私有镜像
本文介绍通过pod指定 ImagePullSecrets来拉取私有镜像仓库的镜像
1. 创建secret
secret是namespace级别的,创建时候需要指定namespace。
2. 添加ImagePullSecrets到serviceAccount
可以通过将ImagePullSecrets到serviceAccount的方式来自动给pod添加imagePullSecrets参数值。
serviceAccount同样是namespace级别,只对该namespace生效。
将ImagePullSecrets添加到serviceAccount对象中。
默认serviceAccount对象如下
编辑或修改serviceAccount内容,增加imagePullSecrets字段。
kubectl edit serviceaccount default -n dev
修改后内容为:
3. 创建带有imagePullSecrets的pod
如果已经执行了第二步操作,添加ImagePullSecrets到serviceAccount,则无需在pod中指定imagePullSecrets参数,默认会自动添加。
如果没有添加ImagePullSecrets到serviceAccount,则在pod中指定imagePullSecrets参数引用创建的镜像仓库的secret。
4. 说明
由于secret和serviceaccount对象是对namespace级别生效,因此不同的namespace需要再次创建和更新这两个对象。该场景适合不同用户具有独立的镜像仓库的密码,可以通过该方式创建不同的镜像密码使用的secret来拉取不同的镜像部署。
参考:
https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account
最后更新于