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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东北小狐狸-Hellxz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值