一、Docker配置Secret
可以使用
kubernetes.io/dockercfg
或者kubernetes.io/dockerconfigjson
任意一种type
值来创建 Secret,用以存放访问Docker仓库来下载镜像的凭证
1、kubernetes.io/dockercfg格式
-
kubernetes.io/dockercfg
是一种保留类型,用来存放~/.dockercfg
文件的序列化形式。该文件是配置 Docker 命令行的一种老旧形式。使用此 Secret 类型时,你需要确保Secret的data字段中包含名为.dockercfg
的主键,其对应键值是用 base64编码的某~/.dockercfg
文件的内容 - yaml模板
apiVersion: v1
kind: Secret
metadata:
name: secret-dockercfg
type: kubernetes.io/dockercfg
data:
.dockercfg: |
"<base64 encoded ~/.dockercfg file>"
如果不希望执行 base64 编码转换,可以用stringData字段代替
2、kubernetes.io/dockerconfigjson格式
-
kubernetes.io/dockerconfigjson
被设计用来保存JSON数据的序列化形式,该JSON也遵从~/.docker/config.json
文件的格式规则,而后者是~/.dockercfg
的新版本格式。使用此 Secret 类型时,Secret 对象的data
字段必须包含.dockerconfigjson
键,其键值为base64编码的字符串包含~/.docker/config.json
文件的内容
3、创建 Secret
方式一
kubectl create secret docker-registry secret-tiger-docker \
--docker-username=revanw \
--docker-password=raven1991 \
--docker-email=tiger@acme.com
方式二
kubectl create secret docker-registry <名称> \
--docker-server=DOCKER_REGISTRY_SERVER \
--docker-username=DOCKER_USER \
--docker-password=DOCKER_PASSWORD \
--docker-email=DOCKER_EMAIL
- 编写pod
apiVersion: v1
kind: Pod
metadata:
name: foo
namespace: awesomeapps
spec:
containers:
- name: foo
image: janedoe/awesomeapp:v1
imagePullSecrets:
- name: myregistrykey
网友评论