Harbor配合K8S使用

Harbor 是一个开源的可信云原生仓库项目,用于对内容进行存储、签名和扫描。通过增加用户经常需要的功能,例如安全、身份验证和管理,Harbor 扩展了开源的 Docker Distribution。Harbor 使用 HTTP 和 HTTPS 为仓库请求提供服务。

KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。


Harbor安装:Harbor私有仓库的部署

k8s可视化管理平台KubeSphere及k8s的安装: kubesphere安装k8s

目标

使用k8s拉取Harbor的镜像

准备工作

harbor服务器与k8s集群是一个内网段

您需要在KubeSphere创建一个企业空间、一个项目和一个用户(例如 project-regular)。该用户必须已邀请至该项目,并具有 operator 角色。有关更多信息,请参阅创建企业空间、项目、用户和角色

设置保密字典

以 project-regular 用户登录 KubeSphere Web 控制台并进入项目,在左侧导航栏中选择配置下的保密字典,然后点击创建

 设置名称,选择镜像服务信息

填写相关信息 (如需使用 Harbor 域名而非 IP 地址,您需要在集群中配置 CoreDNS 和 nodelocaldns。)

仓库地址:镜像仓库的地址

用户名:登录镜像仓库所需的用户名。

密码:登录镜像仓库所需的密码。

邮箱(可选):您的邮箱地址。

如果你在安装Harbor配置了Https可选择https,否则用http

点击验证,看是否成功 

添加 Harbor 镜像仓库

HTTP

①你需要修改k8s集群中所有节点的 Docker 配置。

如果外部 Harbor 仓库的 IP 地址为 http://192.168.0.99,您需要在 /etc/systemd/system/docker.service.d/docker-options.conf 文件中增加 --insecure-registry=192.168.0.99 标签。(记得修改成你的harbor的ip,harbor和k8s在一个内网,推荐用内网ip)

[Service] Environment="DOCKER_OPTS=--registry-mirror=https://registry.docker-cn.com --insecure-registry=10.233.0.0/18 --data-root=/var/lib/docker --log-opt max-size=50m --log-opt max-file=5 \ --insecure-registry=192.168.0.99"

我在修改时发现一个问题,很多版本只有/etc/systemd/system/docker.service配置文件了,那么久直接修改/etc/systemd/system/docker.service文件就行了。在ExecStart的末尾加上      --insecure-registry=192.168.0.99 标签

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry=xx.xx.xx.xx
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

重新加载配置文件并重启 Docker。

sudo systemctl daemon-reload


sudo systemctl restart docker

如需使用 Harbor 域名而非 IP 地址,您需要在集群中配置 CoreDNS 和 nodelocaldns。

HTTPS

有关如何集成基于 HTTPS 的 Harbor 仓库,请参阅 Harbor 官方文档。请确保您已使用 docker login 命令连接到您的 Harbor 仓库。

使用镜像仓库

在Kubernetes 点击工作负载,点击创建

在容器组设置选择你的仓库(前面--insecure-registry用的内网,这里也要用内网)

填写你私有仓库镜像的名称以及标签

注意名称和标签中间的  :   符号需要用英文字符格式。

等后续,我对其KubeSphere更加了解,如果有更好的方式,我会持续更新的

如果文章对您有用的话,记得点赞关注噢

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值