kubernetes制作image-pull-secret拉取私有镜像以及docker镜像批量tag和push脚本

本文介绍了两种在Kubernetes环境中管理私有Docker镜像仓库的登录信息和拉取秘钥的方法。首先,通过登录私有仓库并转码配置文件,创建Secret对象。其次,使用`kubectl create secret`命令直接创建Secret。接着,提供了一个脚本,用于在所有命名空间中创建Secret。最后,展示了两个脚本,分别用于批量为容器打tag和上传镜像到仓库。
摘要由CSDN通过智能技术生成

第一针方式

1.登陆私有镜像仓库

docker login reg.test.com

Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
 

2.登陆成功之后,查看登陆配置文件,并转码

cat ~/.docker/config.json | base64 -w 0

记录转码后的信息

3.编辑secret的yaml文件

apiVersion: v1
kind: Secret
metadata:
  name: registry-pull-secret
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjMxLjYxIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCg6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE4LjA2LjEtY2UgKGxpbnV4KSIKCX0KfQ==   #转码后的信息
type: kubernetes.io/dockerconfigjson

4.在指定的命名空间创建 registry-pull-secret

kubectl create -f registry-pull-secret.yaml

二.第二种方式创建

1.kubectl create secret docker-registry local-registry \
--docker-server=reg.test.com \  #docker 镜像的服务器地址
--docker-username=admin \
--docker-password=****** \
--docker-email=****** \
-n default

2.kubernetes资源的引用

apiVersion: v1
kind: Pod
metadata:
name: test-imagePullSecret
namespace: default
spec:
containers:
- name: ngiunx
image: reg.test.com/nginx
imagePullSecrets:
- name: myregistrykey

三.在所有命名空间创建registry-pull-secret.yaml的脚本

#!/bin/bash
ns_list=`kubectl get ns | awk '{print $1}' | grep -v NAME`
for ns in $ns_list;
do
kubectl create secret docker-registry imagePullSecret-registry \
--docker-server=服务器地址 \
--docker-username=admin \
--docker-password=****** \
--docker-email=****** \
-n $ns
done;

四.批量对kubernetes节点上面的容器打tag标签

 docker images | grep reg.aone.htjs | awk '{print $1":"$2}' | while read -r line; do  src=$line; dst="$(echo $line | sed "s/^reg.aone.htjs.net\/k8s\///")"; docker tag $src $dst; done

五.批量上传kubernetes节点镜像上传到镜像仓库

docker images | grep 'reg.aone.htjs.net' | awk '{print $1":"$2}' | while read -r line; do docker push $line; done

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忍冬行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值