美文网首页云原生
39-存储-Docker镜像凭证

39-存储-Docker镜像凭证

作者: 紫荆秋雪_文 | 来源:发表于2022-02-18 11:19 被阅读0次
k8s系统存储挂载原理.png

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

相关文章

网友评论

    本文标题:39-存储-Docker镜像凭证

    本文链接:https://www.haomeiwen.com/subject/nnnelrtx.html