美文网首页云原生
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