----------------------------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