KubeSphere 对接镜像仓库-docker registry


参考官方文档 https://kubesphere.io 实操记实
可以用 Docker 做什么?

  • 快速、一致地交付您的应用程序
  • 响应式部署和扩展
  • 在相同硬件上运行更多工作负载

考虑以下示例场景

  • 开发人员在本地编写代码并使用 Docker 容器与同事分享他们的工作。
  • 他们使用 Docker 将他们的应用程序推送到测试环境中并执行自动化和手动测试。
  • 当开发者发现bug时,可以在开发环境中修复,重新部署到测试环境中进行测试和验证。
  • 测试完成后,将修复程序提供给客户就像将更新的映像推送到生产环境一样简单。

1.KubeSphere 对接镜像仓库

1.1 准备工作

您需要创建一个企业空间、一个项目和一个用户(例如 demo4project)。该用户必须已邀请至该项目,并具有 operator 角色。
在这里插入图片描述
在这里插入图片描述

1.2 创建保密字典

创建工作负载、服务、任务或定时任务时,除了从公共仓库选择镜像,您还可以从私有仓库选择镜像。要使用私有仓库中的镜像,您必须先为私有仓库创建保密字典,以便在 KubeSphere 中集成该私有仓库。

1.2.1 步骤 1:进入保密字典页面

demo4project 用户登录 KubeSphere Web 控制台并进入项目,在左侧导航栏中选择配置下的保密字典,然后点击创建
在这里插入图片描述

1.2.2 步骤 2:配置基本信息

设置保密字典的名称(例如 dockerhub),然后点击下一步

您可以在对话框右上角启用编辑 YAML 来查看保密字典的 YAML 清单文件,并通过直接编辑清单文件来创建保密字典。您也可以继续执行后续步骤在控制台上创建保密字典。

在这里插入图片描述

1.2.3 步骤 3:配置镜像仓库信息

类型设置为 镜像仓库信息。要在创建应用负载时使用私有仓库中的镜像,您需要配置以下字段:

  • 仓库地址:镜像仓库的地址,其中包含创建应用负载时需要使用的镜像。
  • 用户名:登录镜像仓库所需的用户名。
  • 密码:登录镜像仓库所需的密码。
  • 邮箱(可选):您的邮箱地址。
    在这里插入图片描述
1.2.3.1 添加 Docker Hub 仓库
  1. Docker Hub 上添加镜像仓库之前,您需要注册一个 Docker Hub 帐户。在保密字典设置页面,将仓库地址设置为 docker.io,将用户名密码分别设置为您的 Docker ID 和密码,然后点击验证以检查地址是否可用。

  2. 点击创建。保密字典创建后会显示在保密字典界面。

1.2.3.2 添加 Harbor 镜像仓库

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

HTTP

  1. 您需要修改集群中所有节点的 Docker 配置。例如,如果外部 Harbor 仓库的 IP 地址为 http://192.168.0.99,您需要在 /etc/systemd/system/docker.service.d/docker-options.conf 文件中增加 --insecure-registry=192.168.0.99 标签。
[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"
  • 请将镜像仓库的地址替换成实际的地址。
  • 有关 Environment 字段中的标签,请参阅 Dockerd Options
  • Docker 守护进程需要 --insecure-registry 标签才能与不安全的仓库通信。有关该标签的更多信息,请参阅 Docker 官方文档
  1. 重新加载配置文件并重启 Docker。
 sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 在 KubeSphere 控制台上进入创建保密字典的数据设置页面,将类型设置为镜像仓库信息,将仓库地址设置为您的 Harbor IP 地址,并设置用户名和密码。

如需使用 Harbor 域名而非 IP 地址,您需要在集群中配置 CoreDNS 和 nodelocaldns。
下一篇文章中会介绍,如何集成使用Harobr域名的镜像仓库

  1. 点击创建。保密字典创建后会显示在保密字典页面。有关保密字典创建后如何编辑保密字典。

HTTPS

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

1.3 使用镜像仓库

如果您已提前创建了私有镜像仓库的保密字典,您可以选择私有镜像仓库中的镜像。例如,创建部署时,您可以在添加容器页面点击镜像下拉列表选择一个仓库,然后输入镜像名称和标签使用镜像。
在这里插入图片描述

1.4 快速部署 Harbor v2.3.1 https 访问

请查阅,快速部署 Harbor v2.3.1 https 访问

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是搭建私服镜像中心docker-registrydocker-registry-web的步骤: 1.安装DockerDocker Compose 2.创建一个目录来存储docker-compose.yml文件和证书文件 3.创建docker-compose.yml文件并添加以下内容: ```yaml version: '3' services: registry: restart: always image: registry:2 ports: - 5000:5000 environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_STORAGE_DELETE_ENABLED: "true" REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./data:/var/lib/registry - ./auth:/auth - ./certs:/certs registry-web: restart: always image: mkuchin/docker-registry-web:v0.1.2 ports: - 8080:8080 environment: REGISTRY_URL: https://registry:5000 REGISTRY_WEB_TITLE: Docker Registry REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./auth:/auth - ./certs:/certs ``` 4.创建一个目录来存储证书文件和htpasswd文件 5.生成证书文件 ```shell openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt ``` 6.生成htpasswd文件 ```shell htpasswd -Bc auth/htpasswd <username> ``` 7.启动docker-compose ```shell docker-compose up -d ``` 8.访问https://<your-domain>:8080,输入用户名和密码即可登录docker-registry-web界面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

[shenhonglei]

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

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

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

打赏作者

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

抵扣说明:

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

余额充值