为了账号安全,请及时绑定邮箱和手机立即绑定

kubernetes配置secret拉取私仓镜像

标签:
Kubernetes

对于公司内部的项目, 我们不可能使用公有开放的镜像仓库, 一般情况可能会花钱买  docker私仓服务, 或者说自己在服务器上搭建自己的私仓, 但不管怎样, 我们如何让k8s能够拉取私有仓库的镜像

1. 登录docker镜像仓库

这里以阿里云docker镜像仓库为例

docker login --username=yin32167@aliyun.com registry.cn-hangzhou.aliyuncs.com

之后输入密码就可以了, 这个时候我们可以在配置文件中查看登录情况

cat ~/.docker/config.json

这个时候我们虽然可以通过docker pull命令拉取镜像, 但无法通过k8s创建pod方式拉取

2. 生成密钥secret
kubectl create secret docker-registry regsecret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=yin32167@aliyun.com --docker-password=xxxxxx --docker-email=yin32167@aliyun.com

其中:
regsecret:  指定密钥的键名称, 可自行定义
--docker-server:  指定docker仓库地址
--docker-username:  指定docker仓库账号
--docker-password:  指定docker仓库密码
--docker-email:  指定邮件地址(选填)

webp

可以看到当前除了默认的密钥, 还有我们刚才生成的. 另外要注意的是, 该密钥只能在对应namespace使用, 也就是这里的default, 如果需要用到其他namespace, 比如说test, 就需要在生成的时候指定参数 -n test

3. yml文件加入密钥参数
containers:
- name: channel
  image: registry-internal.cn-hangzhou.aliyuncs.com/yin32167/channel:dev-1.0
ports:
- containerPort: 8114
imagePullSecrets:
- name: regsecret

其中imagePullSecrets是声明拉取镜像时需要指定密钥, regsecret 必须和上面生成密钥的键名一致, 另外检查一下pod和密钥是否在同一个namespace, 之后k8s便可以拉取镜像



作者:殷临风
链接:https://www.jianshu.com/p/fd13c2762d81


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消