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