私有镜像仓库

1、创建

SERVER=xx.xx
USER=xx
EMAIL=772006843@qq.com
PW=xxxxxxxx

kubectl create secret docker-registry regcred \
  --docker-server=$SERVER \
  --docker-username=$USER \
  --docker-password=$PW \
  --docker-email=$EMAIL

或者从文件创建:

kubectl create secret generic regcred --from-file=.dockerconfigjson=~/.docker/config.json --type=kubernetes.io/dockerconfigjson

查看:

kubectl get secret regcred --output=yaml

2、应用

添加secret到serviceaccount:

kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "regcred"}]}'

添加到默认的sa后整个namespace将默认有拉取权限,pod默认使用sadefault

针对单个pod也能添加:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred