kubernetes 拉取私有镜像 imagepullsecrets
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,1. kubernetes 拉取私有镜像的测试创建secret(创建方式有两钟,一种使用命令,第二种使用文件)下面我的私有仓库如下:reg.k8s.test.comureg.k8s.test.coma
千家信息网最后更新 2025年02月03日kubernetes 拉取私有镜像 imagepullsecretsa. 修改
生成
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安全错误
数据库的锁怎样保障安全
ice服务器和迷你世界哪个好
服务器一键恢复出厂设置
网络安全建设和绩效情况
全国网络安全会议的精神
win服务器异常自动重启
数据库灾难备份
东营设备软件开发价格
职中数据库
安氏网络安全
军中绿叶互联网科技
数据库安全性控制语句包括
承德科技产业互联网平台
可扩展事件数据库
数据库物理名称怎么表示
美国国家车辆管理数据库
数据库临时
公安网络安全教材
服务器 便宜
.jdb 数据库
国产数据库达梦价格
商机互联网科技有限公司
虚拟化技术可以提高服务器性能吗
苏州许梦网络技术有限公司
会途网络技术有限公司
数据库实验手段
pubg未来之役服务器都是什么
近些年网络安全问题
数据库系统及应用下载
不小心清除了文件数据库怎么办
无线网络安全保障措施