栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

kubernetes配置imagePullSecrets秘钥来拉取镜像

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kubernetes配置imagePullSecrets秘钥来拉取镜像

说明

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

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

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

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

配置过程

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

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

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

例子:

kubectl create secret docker-registry video-docker-redistry-key 
    --docker-server=10.3.9.107:5000 
    --docker-username='gsafety' 
    --docker-password='123456'

查看key

# kubectl get secret
NAME                        TYPE                                  DATA   AGE
default-token-d9phm         kubernetes.io/service-account-token   3      19h
video-docker-redistry-key   kubernetes.io/dockerconfigjson        1      2s

最后在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。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号