Rancher 离线安装
本例将引导您使用 Hangar 快速搭建包含多架构容器镜像的 Registry 服务器,以用于 Rancher Air-Gap(离线环境)安装。
您可按照 Rancher 离线 Helm CLI 安装 文档在离线环境中安装 Rancher。
最佳实践
-
部署一个 registry 服务器,用于存储 Rancher 容器镜像。
#!/bin/bash
# 本例中,将 Rancher 容器镜像 Layer 文件存储至本地目录
mkdir -p registry
docker run -d \
-p 5000:5000 \
-v $(pwd)/registry:/var/lib/registry \
--name registry \
registry:2备注Registry 服务器建议预留至少 100GB 的磁盘空间以存储 Rancher 所需的全部镜像。
登录至私有镜像仓库:
hangar login 'localhost:5000' --tls-verify=false
备注默认情况下,Registry 可以使用任意的用户名和密码登录。
您可以参考 Distribution Registry Token Authentication 配置 Registry 的认证信息,并参考 HTTPS certificate 配置 HTTPS。
-
在 Rancher GitHub Release 页面 下载 Rancher 的镜像列表文件
rancher-images.txt
。本例使用版本为
v2.7.9
。wget 'https://github.com/rancher/rancher/releases/download/v2.7.9/rancher-images.txt'
rancher-images.txt
镜像列表文件包含 Rancher 核心镜像、Chart 镜像、以及 KDM(Kontainer Driver Metadata)镜像(KDM 镜像包含了 RKE、RKE2 和 K3s 镜像)。 -
本例使用
cert-manager
生成 Rancher 的 HTTPS 证书。参考 收集 cert-manager 镜像 文档将cert-manager
镜像添加至rancher-images.txt
镜像列表中。helm repo add jetstack https://charts.jetstack.io
helm repo update
helm fetch jetstack/cert-manager --version v1.11.0
helm template ./cert-manager-v1.11.0.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt -
如果私有镜像仓库的主机可以访问公共网络,您可使用 Hangar mirror 命令,将
amd64
和arm64
架构的容器镜像从公开的镜像仓库服务器 Mirror 至私有镜像仓库。#!/bin/bash
hangar mirror \
-f 'rancher-images.txt' \
-d 'localhost:5000' \
--arch 'amd64,arm64' \
--os 'linux' \
--jobs 5 \
--tls-verify=false