Kubernetes 使用私有镜像进阶

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

正常开始下载了

Send a Message