zoukankan      html  css  js  c++  java
  • k8s使用需认证的私服仓库

    本文内容

    在K8s中使用需认证的私服仓库需要导入认证信息到集群中,常规导入方式有两种:

    • 使用Docker已登录的仓库密文导入
    • 使用命令行创建Secret对象导入

    本文介绍的就是以上两种方法。

    使用Docker已登录的仓库密文导入

    1、docker login登录私服仓库,输入账号密码

    docker login <私服仓库地址>
    

    2、登录成功后,检查是否生成 docker 认证配置文件(生成在当前登录用户家的.docker目录下)

    cat ~/.docker/config.json
    

    3、通过 ~/.docker/config.json创建Secret对象导入集群

    kubectl create secret generic <secret-name> 
    --from-file=.dockerconfigjson=~/.docker/config.json 
    --type=kubernetes.io/dockerconfigjson
    
    • secret-name:k8s Secret的名称标识字段

    还有更复杂的方式,请参考官方文档

    使用命令行创建Secret对象导入

    替换参数并执行

    kubectl create secret docker-registry <secret-name> --docker-server=<your-registry-server> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<your-email>
    
    • secret-name:k8s Secret的名称标识字段
    • your-registry-server:私服docker仓库地址
    • docker-username:docker登录用户
    • docker-password:docker密码
    • your-email:邮件地址

    查看Secret创建情况

    kubectl get secret
    

    使用集群中的Secret拉取镜像

    以Pod模板举例:

    test-private-registry.yaml

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-private-registry
    spec:
      containers:
      - name: private-reg-container
        image: <your-registry-server>/tomcat:8.5.34-alpine
      imagePullSecrets:
      - name: <secret-name>
    

    注意:在spec中指定imagePullSecrets的name为之前Secret的名称即可

    kubectl apply -f test-private-registry.yaml
    

  • 相关阅读:
    Ubuntu忘记密码后强制修改密码
    搭建Jetbrains家族IDE授权服务器
    C#ComboBox绑定List
    字体包文件过大
    JS通过ActiveX读写ini配置文件
    NodeJS + express访问html、css、JS等静态资源文件
    VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求
    VueJS搭建简单后台管理系统框架(一)环境搭建
    ExtJS4.x Grid 单元格鼠标悬停提示
    IE9下Ajax缓存问题
  • 原文地址:https://www.cnblogs.com/hellxz/p/13470099.html
Copyright © 2011-2022 走看看