千家信息网

kubernetes 拉取私有镜像 imagepullsecrets

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1. kubernetes 拉取私有镜像的测试创建secret(创建方式有两钟,一种使用命令,第二种使用文件)下面我的私有仓库如下:reg.k8s.test.comureg.k8s.test.coma
千家信息网最后更新 2026年11月01日kubernetes 拉取私有镜像 imagepullsecrets

1. kubernetes 拉取私有镜像的测试

创建secret(创建方式有两钟,一种使用命令,第二种使用文件)

下面我的私有仓库如下:

  • reg.k8s.test.com
  • ureg.k8s.test.com

a. 修改docker的/etc/docker/daemon.json文件

在所有的node节点中修改docker的/etc/docker/daemon.json文件修改insecure-registries参数。必须包含上面上面私有仓库的地址:

{"registry-mirrors": [ "https://registry.docker-cn.com"],"insecure-registries":["reg.k8s.test.com","ureg.k8s.test.com","uhub.service.ucloud.cn"]}

重启 docker 服务

systemctl restart docker

### 方法1. 使用文件生成secret

生成~/.docker/config.json配置文件
[root@ip-172-31-10-110 ~]# docker login reg.k8s.test.comUsername: lvnianPassword:                       <输入密码>WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded[root@ip-172-31-10-110 ~]# [root@ip-172-31-10-110 ~]# docker login ureg.k8s.test.comUsername: lvnianPassword:                       <输入密码>WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded[root@ip-172-31-10-110 ~]# ll ~/.docker/config.json -rw------- 1 root root 261 Nov  8 13:21 /root/.docker/config.json

测试密码是否成功,往私有仓库push images

[root@ip-172-31-10-110 ~]# docker pull nginxUsing default tag: latestlatest: Pulling from library/nginxf17d81b4b692: Pull complete 82dca86e04c3: Pull complete 046ccb106982: Pull complete Digest: sha256:d59a1aa7866258751a261bae525a1842c7ff0662d4f34a355d5f36826abc0341Status: Downloaded newer image for nginx:latest[root@ip-172-31-10-110 ~]# docker tag nginx ureg.k8s.test.com/test/nginx[root@ip-172-31-10-110 ~]# docker push ureg.k8s.test.com/test/nginxThe push refers to repository [ureg.k8s.test.com/test/nginx]ad9ac0e6043b: Pushed 6ccbee34dd10: Pushed 237472299760: Pushed latest: digest: sha256:427498d66ad8a3437939bb7ef613fe76458b550f6c43b915d8d4471c7d34a544 size: 948[root@ip-172-31-10-110 ~]# docker tag nginx reg.k8s.test.com/test/nginx[root@ip-172-31-10-110 ~]# docker push reg.k8s.test.com/test/nginxThe push refers to repository [reg.k8s.test.com/test/nginx]ad9ac0e6043b: Layer already exists 6ccbee34dd10: Layer already exists 237472299760: Layer already exists latest: digest: sha256:427498d66ad8a3437939bb7ef613fe76458b550f6c43b915d8d4471c7d34a544 size: 948

密码没问题
获取base64 -w 0 ~/.docker/config.json密文

[root@ip-172-31-10-110 ~]# base64 -w 0 ~/.docker/config.jsonewoJImF1dGhjNWdlpHVnVaenB5Wld4aFFFeFdUa2xCVGtBeU1ERTMiCgkJfSwKCQkidXJlZy5rOHMueXVud2VpLnJlbGEubWUiOiB7CgkJCSJhdXRoIjogIloyRnZaM1Z2WkdWdVp6cHlaV3hoUUV4V1RrbEJUa0F5TURFMyIKCQl9Cgl9LAoJIkh0dHBIZWFkZXJzIjogewoJCSJVc2VyLUFnZW50IjogIkRvY2tlci1DbGllbnQvMTguMDYuMS1jZSAobGludXgpIgoJfQp9[root@ip-172-31-10-110 ~]# 
创建Secret
### vim secret.yamlapiVersion: v1kind: Secretmetadata:  name: regsecret  namespace: defaultdata:    .dockerconfigjson: ewoJImF1dGhjNWdlpHVnVaenB5Wld4aFFFeFdUa2xCVGtBeU1ERTMiCgkJfSwKCQkidXJlZy5rOHMueXVud2VpLnJlbGEubWUiOiB7CgkJCSJhdXRoIjogIloyRnZaM1Z2WkdWdVp6cHlaV3hoUUV4V1RrbEJUa0F5TURFMyIKCQl9Cgl9LAoJIkh0dHBIZWFkZXJzIjogewoJCSJVc2VyLUFnZW50IjogIkRvY2tlci1DbGllbnQvMTguMDYuMS1jZSAobGludXgpIgoJfQp9type: kubernetes.io/dockerconfigjson

kubectl create -f secret.yaml \
kubectl describe Secret regsecret

创建deployment测试是否可以拉私有仓库的镜像
[root@ip-172-31-10-110 ~]#  vim test.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata:  name: dentestreplcespec:  replicas: 1  template:    metadata:      labels:        name: dentestreplace    spec:      containers:      - name: dentestreplace         imagePullPolicy: Always        image: ureg.k8s.test.com/rela_dev/logreport:latest      imagePullSecrets:      - name: regsecret
[root@ip-172-31-10-110 ~]# kubectl create -f test.yaml[root@ip-172-31-10-110 ~]# kubectl describe po/dentestreplce-6f788968fb-dr768 ...Volumes:  default-token-tfmc8:    Type:        Secret (a volume populated by a Secret)    SecretName:  default-token-tfmc8    Optional:    falseQoS Class:       BestEffortNode-Selectors:  Tolerations:     Events:  Type    Reason                 Age   From                    Message  ----    ------                 ----  ----                    -------  Normal  Scheduled              57s   default-scheduler       Successfully assigned dentestreplce-6f788968fb-dr768 to 172.31.40.120  Normal  SuccessfulMountVolume  57s   kubelet, 172.31.40.120  MountVolume.SetUp succeeded for volume "default-token-tfmc8"  Normal  Pulling                57s   kubelet, 172.31.40.120  pulling image "ureg.k8s.test.com/rela_dev/logreport:latest"  Normal  Pulled                 15s   kubelet, 172.31.40.120  Successfully pulled image "ureg.k8s.test.com/rela_dev/logreport:latest"  Normal  Created                15s   kubelet, 172.31.40.120  Created container  Normal  Started                15s   kubelet, 172.31.40.120  Started container[root@ip-172-31-10-110 ~]# 

查看结果,成功。上面是使用第一个私有仓库,第二个的测试也是一样。
注意,必须要确保私有仓库中本来就有ureg.k8s.test.com/rela_dev/logreport:latest这个image哦

另外一个私有参考也是一样这样测试即可。

方法2:

使用命令创建Secret
命令如下:

kubectl create secret docker-registry regsecret --docker-server=ureg.k8s.test.com --docker-username=lvnian --docker-password=LVNIAN@2017 --docker-email=lvnian@rela.me 

其中:

regsecret: 指定密钥的键名称, 可自行定义--docker-server: 指定docker仓库地址--docker-username: 指定docker仓库账号--docker-password: 指定docker仓库密码--docker-email: 指定邮件地址-n : 命名空间,在那个命名空间创建,就只能在那个命名空间使用这个secret

其他步骤和上面的一样。

仓库 私有 文件 测试 命令 地址 密码 空间 镜像 成功 方法 生成 参数 名称 密文 密钥 方式 步骤 结果 节点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网与科技发展 礼当家互联网科技 华中科技大学互联网 致聘互联网科技 互联网科技视频素材 互联网汽车科技小镇 现代互联网科技股 互联网时代科技改变生活 玉溪互联网科技怎么选 互联网科技人工智能实验室 东莞新华互联网科技学校 互联网科技股为什么大涨 九思连强互联网电子科技有限公司 互联网时代科技型公司的机会 同城互联网络科技 绵阳真晨互联网科技有限公司 山东蛋芒互联网科技有限公司 互联网金融金融科技 保山浩联互联网科技有限公司 科技金融是不是互联网金融 互联网科技有限公司经营范围 互联网科技公司税收优惠 朗涯互联网科技 成都铂石互联网科技做什么的 崇明区互联网教育科技诚信经营 中国航天科技大学国际工业互联网 世界互联网科技成果奖 广西泛欧互联网科技有限公司 伍佰万互联网科技是干嘛的
0