在 Kubernetes 使用私有镜像 中我们讨论了如何使用私有镜像
通过创建 secret 然后指定对应的 imagePullSecrets
如果不在deployment中指定 imagePullSecrets 还是会得到以下错误
需要在所有的deployment都指定使用的 secret 就成为了一个问题
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: lizhepac/privateimage
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
可以通过 patch serviceaccount 的方式来对namespace默认提供类似注入的功能
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regsecret"}]}'
然后重新部署 nginx
可以看到,集群自动加入了 imagePullSecrets
正常开始下载了