配置私有镜像仓库与镜像加速
概述
在使用 Rainbond 过程中,您可能会遇到以下场景:
- 需要使用私有镜像仓库中的镜像
- 从 DockerHub 拉取镜像速度慢或失败
- 使用源码构建时,基础镜像拉取失败
本文将帮助您解决这些问题。
配置私有镜像仓库
场景一:通过镜像创建组件
当您需要使用私有镜像仓库中的镜像来创建组件时,需要配置 Containerd。具体配置方法根据您的安装方式有所不同:
方式一:快速安装用户
如果您是使用快速安装方式部署的 Rainbond,请按以下步骤操作:
- 进入 Rainbond 容器
docker exec -it rainbond bash
- 编辑配置文件
vim /etc/rancher/k3s/registries.yaml
- 添加私有仓库配置
mirrors:
"your-registry.com:5000":
endpoint:
- "http://your-registry.com:5000"
configs:
"your-registry.com:5000":
auth:
username: your-username
password: your-password
- 重启容器使配置生效
docker restart rainbond
方式二:主机安装用户
如果您是使用主机安装方式部署的 Rainbond,请按以下步骤操作:
- 编辑配置文件
vim /etc/rancher/rke2/registries.yaml
-
添加私有仓库配置(格式同上)
-
重启服务使配置生效
# 主节点执行
systemctl restart rke2-server
# 工作节点执行
systemctl restart rke2-agent
场景二:源码构建使用私有镜像
当您在源码构建过程中需要使用私有镜像仓库的基础镜像时,需要配置 BuildKit:
BuildKit 是一种在 K8S 集群中构建镜像的工具,Rainbond 采用它作为源码构建的镜像构建工具。
- 首先执行一次源码构建(无论成功与否),以生成配置文件
- 编辑 BuildKit 配置:
kubectl edit cm goodrain.me -n rbd-system
- 添加私有仓库配置:
data:
buildkittoml: |-
debug = true
[registry."goodrain.me"]
http = false
insecure = true
# 添加您的私有仓库配置
[registry."your-registry.com:5000"]
http = true
insecure = true
# 如果需要认证,添加以下配置
username = "your-username"
password = "your-password"
配置镜像加速
场景一:加速 DockerHub 镜像拉取
如果您在通过镜像创建组件时,从 DockerHub 拉取镜像较慢,可以配置镜像加速: