zoukankan      html  css  js  c++  java
  • kubernetes配置imagePullSecrets秘钥来拉取镜像

    背景说明:

    imagePullSecret资源将Secret提供的密码传递给kubelet从而在拉取镜像前完成必要的认证过程,简单说就是你的镜像仓库是私有的,每次拉取是需要认证的。

    配置说明:

    ①创建docker-registry类型的Secret对象,并在定义pod资源时明确通过"imagePullSecrets"字段来申明使用哪个私钥去认证;

    ②创建docker-registry类型的Secret对象,然后把它添加到某个ServiceAccount对象中,使用了这个ServiceAccount对象创建出来的pod就自然而然通过认证获取到镜像;

    第一种方式较为常见,简单记录一下。

    具体配置:

    这里创建Secret对象有两种方式,各有千秋。

    方式一:通过命令行直接创建Secret

    kubectl create secret docker-registry <name> --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL

    例子:

    kubectl create secret docker-registry xxx-key 
        --docker-server=registry.xxxxxx.com 
        --docker-username='xxxxxx' 
        --docker-password='xxxxxx' 

    最后在yaml文件中使用这个创建出来的Secret:

    apiVersion: v1
    kind: Pod
    metadata:
      name: foo
      namespace: awesomeapps
    spec:
      containers:
        - name: foo
          image: janedoe/awesomeapp:v1
      imagePullSecrets:
        - name: xxx-key

    方式二:通过现存的docker认证文件来创建Secret

    kubectl create secret generic xxx-key 
        --from-file=.dockerconfigjson=/root/.docker/config.json> 
        --type=kubernetes.io/dockerconfigjson

    注意:config.json文件需要在主机上通过docker login 的方式登录后,才会生成。这种方式有一个好处,就是如果有多个镜像仓库,都先存在于一个config.json文件中,然后通过命令打入Secret。

    接下来,在yaml文件中引用,同上,略。

    结束.

  • 相关阅读:
    Java读书笔记
    b_aw_旅游计划(树的中心变形)
    b_lc_秋叶收集器(分类讨论dp+滚动数组优化)
    b_lg_涂色(从小区间做起,讨论s[l]和s[r]的关系)
    c_lc_早餐组合(排序+双指针)
    c_aw_鱼塘钓鱼(大根堆)
    b_pat_栈(2*multiset+stack)
    c_pat_推荐系统(set模拟)
    b_lg_时态同步(后序遍历统计每棵子树的最大高度)
    b_lc_统计不开心的朋友(预处理+模拟)
  • 原文地址:https://www.cnblogs.com/ding2016/p/13384799.html
Copyright © 2011-2022 走看看