离线部署docker部署rancher rancher容器中的组件镜像都是拉取失败

Rancher Server 设置

  • Rancher 版本:V2.7.8
  • 安装选项 (Docker install/Helm Chart): docker
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
  • 在线或离线部署:离线部署

主机操作系统:centos 7.9

问题描述:离线部署docker部署rancher rancher容器中的组件镜像都是拉取失败

docker已经将私有仓库添加为信任源

rancher部署执行的命令:docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -e CATTLE_SYSTEM_DEFAULT_REGISTRY=172.30.0.166:5000 -e CATTLE_SYSTEM_CATALOG=bundled --privileged 172.30.0.166:5000/rancher/rancher:v2.7.8

rancher容器日志

rancher容器中组件情况:只启动coredns

docker run 方式启动的 rancher 一般都是测试和开发环境使用,不适合生产环境上使用。生产环境还是建议使用高可用的安装方式

如果非得用这种方式安装,而且是离线环境,可以参考:https://mp.weixin.qq.com/s/AgKpijFXDZ40t06JHGqquw

docker run 启动的 rancher,内部有一个 K3s 集群来支撑 rancher 运行,这个 K3s 集群是封装在容器内的,所以你在宿主机的 docker 上的任何配置,在容器内都不会生效。

启动执行的命令是docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -e CATTLE_SYSTEM_DEFAULT_REGISTRY=172.30.0.166:5000 -e CATTLE_SYSTEM_CATALOG=bundled --privileged 172.30.0.166:5000/rancher/rancher:v2.7.8 已经添加私有仓库的参数

镜像仓库是registry没有开启TTL和认证

日志:2024/01/02 03:10:30 [ERROR] Failed to install system chart fleet: pod cattle-system/helm-operation-ghxp6 failed, watch closed
2024/01/02 03:11:32 [ERROR] Failed to install system chart fleet-crd: pod cattle-system/helm-operation-l5gtv failed, watch closed
2024/01/02 03:12:34 [ERROR] Failed to install system chart fleet-crd: pod cattle-system/helm-operation-hpszl failed, watch closed
W0102 03:13:01.457950 32 warnings.go:80] cluster.x-k8s.io/v1alpha3 MachineDeployment is deprecated; use cluster.x-k8s.io/v1beta1 MachineDeployment
2024/01/02 03:13:37 [ERROR] Failed to install system chart fleet: pod cattle-system/helm-operation-d9qpv failed, watch closed

你的配置参数没问题,但 ”CATTLE_SYSTEM_DEFAULT_REGISTRY“ 的配置只能对接带有正规机构颁发证书的镜像仓库。

但你的镜像仓库明显不是,所以需要在内置的 K3s 集群中配置镜像仓库的证书才能连接到,如何配置证书,就是参考上面的公众号链接。

另外,上面已经和你解释了,你在宿主机的 docker 中配置的参数,是不会映射到 rancher 容器里的 K3s 集群的