当前位置: 首页 > news >正文

k8s使用harbor私有仓库镜像 —— 筑梦之路

官方文档: Secret | Kubernetes

  ImagePullSecrets的设置是kubernetes机制的另一亮点,习惯于直接使用Docker Pull来拉取公共镜像,但非所有容器镜像都是公开的。此外,并不是所有的镜像仓库都允许匿名拉取,也就是说需要身份认证;
  kubernetes有一个secret记录类型,可用于配置镜像登陆凭证,secret的一个特定的类型:kubernetes.io/dockercfg 或者 kubernetes.io/dockerconfigjson。与所有kubernetes记录一样,Secrets通过名称被其他资源引用。此处是通过ImagePullSecrets来引用Secret的。

 

 创建Secrets资源

# Docker Config 创建 Secretkubectl create secret docker-registry \
harbor-secret \
--docker-server=harbor.codemiracle.com \
--docker-username=admin \
--docker-password=Harbor12345kubectl create secret docker-registry <secret名字> \--docker-server=<镜像仓库服务器> \--docker-username=<用户名> \--docker-password=<密码> \--docker-email=<邮箱地址># 使用 kubernetes.io/dockerconfigjson 类型的 Secret 来通过镜像仓库的身份验证服务器上我们 docker login 一个镜像仓库,会生成一个文件:~/.docker/config.json>kubectl create secret generic <secret名字> \--from-file=.dockerconfigjson=<path/to/.docker/config.json> \--type=kubernetes.io/dockerconfigjsonkubectl create secret generic harbor-secret \--from-file=.dockerconfigjson=~/.docker/config.json \--type=kubernetes.io/dockerconfigjson

查看secrets资源

kubectl get secrets

引入imagePullSecrets

apiVersion: v1
kind: Pod
metadata:name: private-reg
spec:containers:- name: private-reg-containerimage: <your-private-image>imagePullSecrets:- name: harbor-secret

注意:secret需要各自添加下namespace,只针对各自的命名空间生效 

apiVersion: v1
kind: Secret
metadata:name: harbor-secret namespace: public
data:.dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
type: kubernetes.io/dockerconfigjson

参考资料:

1.https://kubernetes.io/zh-cn/docs/concepts/containers/images/

2.https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/pull-image-private-registry/#registry-secret-existing-credentials

http://www.lryc.cn/news/341039.html

相关文章:

  • tcp bbr pacing 的对与错
  • MySQL学习-非事务相关的六大日志、InnoDB的三大特性以及主从复制架构
  • 【软件测试】MIL/HIL/PIL/SIL测试
  • WebKit结构深度解析:打造高效与安全的浏览器引擎
  • SQLSERVER对等发布问题处理
  • CentOS 7 中时间快了 8 小时
  • itext7 pdf转图片
  • 搜维尔科技:Manus Xsens Metagloves新一代手指捕捉
  • Python与Redis:提升性能,确保可靠性,掌握最佳实践
  • GPT国内能用吗
  • 中科亿海微-CL1656功能验证开发板
  • 学习STM32第十五天
  • 【面试题】MySQL 事务的四大特性说一下?
  • 案例实践 | InterMat:基于长安链的材料数据发现与共享系统
  • 【数据挖掘】实验8:分类与预测建模
  • go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
  • Go 单元测试之Mysql数据库集成测试
  • Prometheus + Grafana 搭建监控仪表盘
  • 机器人管理系统的增删查改(Python)
  • 【.Net动态Web API】背景与实现原理
  • JS-43-Node.js02-安装Node.js和npm
  • 设计模式(分类)
  • 请陪伴Kimi和GPT成长
  • 优思学院|ISO45001职业健康安全管理体系是什么?
  • 抖去推短视频矩阵系统----源头开发
  • Golang函数重试机制实现
  • 工业电脑在ESOP工作站行业应用
  • java项目实战之图书管理系统(1)
  • 3DGS渐进式渲染 - 离线生成渲染视频
  • chromium 协议栈 cronet ios 踩坑案例