天天看點

MicroPass:kubernetes叢集pull私有鏡像倉庫

----------------------------k8s在建立pod時拉取私有鏡像--------------------

一、通過建立secret拉取私有鏡像

1、指令建立secret
kubectl create secret docker-registry registrysecret --docker-server =私有倉庫位址
--docker-username=私有倉庫使用者名 --docker-password=私有倉庫密碼 --docker-email=郵箱賬号    
//使用指令方式建立郵箱為必選參數,老版本可能不是必填項

2、使用檔案建立secret
kubectl create -f secret.yaml
------------------------------------------------------------
secret.yaml内容
------------------------------------------------------------
apiVersion: v1
kind: Secret
metadata:
  name: registrysecret1
  namespace: default  (注意起pods時的namespace)
data:
    .dockerconfigjson: {base64 -w 0 ~/.docker/config.json}
type: kubernetes.io/dockerconfigjson

兩種方式建立出來的secret類型不一樣
NAME                       TYPE                                  DATA      AGE
registrysecret1            kubernetes.io/dockercfg               1         8m
registrysecret             kubernetes.io/dockerconfigjson        1         12m    

用下面檔案分别測試以上兩種secret均能運作。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: dentestreplce
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: dentestreplace
    spec:
      containers:
      - name: dentestreplace 
        imagePullPolicy: Always(ifNotpresent)
        image: 鏡像名
      imagePullSecrets: (----secret----)
      - name: registrysecret1
           

繼續閱讀