如何在国内使用 Rancher
在我们的技术社区中,我们常常收到这样的抱怨:从 Github 上下载资源慢、拉镜像十分耗时、无法使用 library 和 system-library 等。这些大大降低了国内用户的 Rancher 使用体验。
为了改善大家的使用体验,我们针对以上问题分别提出了解决方法。
#
使用国内资源下载 Rancher 组件我们已经将 Rancher 的常用组件放在国内服务器上,访问 https://mirror.rancher.cn 即可下载所需的组件,从此告别failed: Operation timed out
#
使用阿里云镜像仓库搭建 Rancher我们已经在阿里云镜像仓库中同步了一份原版的镜像,仓库地址: registry.cn-hangzhou.aliyuncs.com
注意:阿里云镜像仓库中的 rancher 镜像不支持使用
latest
stable
等 tags,必须指定版本号,例如v2.4.2
接下来,我们来 demo 如何操作:
- 使用阿里云镜像仓库的 rancher 镜像启动 rancher
CATTLE_AGENT_IMAGE:
指定 rancher-agent 的镜像名称
- 设置默认镜像仓库
从 UI 导航到Settings
,然后编辑system-default-registry
,Value 设置为registry.cn-hangzhou.aliyuncs.com
system-default-registry:
参数请参考官方文档
- 接下来我们就可以按照官方文档去添加自定义集群,我们只需要等待集群启动成功即可。下图中列出了 system-project 中所有的 workload,这些 workload 均使用了阿里云的镜像仓库
registry.cn-hangzhou.aliyuncs.com
内的镜像
仅需 3-5 分钟就能完成整个集群的搭建,将大幅节省时间,提高工作效率。
timeout
#
应用商店默认地址Rancher 默认使用 github 上的 repo 作为应用商店的 URL,如果出现timeout
情况,可以将Catalog URL
替换成我们国内的码云地址。
每个 repo 的对应关系如下:
如何修改Catalog URL
:
- 导航到全局或项目级别的
Apps
->Manage Catalogs
- 单击列表右侧的省略号 ->
Edit
- 将
Catalog URL
替换成码云中的地址即可,Save
- 此时,对应的 Catalog 的状态变为了
Refreshed
,等待变为Active
之后即可正常使用
Kubernetes Version
显示为空#
创建自定义集群,每次启动 Rancher 都会到 github 上拉取kontainer-driver-metadata,如果拉取的慢,会导致创建在创建自定义集群时Kubernetes Version
显示为空:
要解决这个问题只需要参考获取新的 Kubernetes 版本将 rke-metadata-config 地址修改成gitee上的地址即可,例如:
注意
修改rke-metadata-config
地址时,需要对应版本号,一定要和默认地址中的版本号对应上,本例的版本号是v2.4
。
#
使用国内 Rancher Chart 地址添加 Helm Chart 仓库在国内使用 helm 安装 rancher,添加 Helm Chart 仓库时有时候会因为访问国外网络导致 Rancher Chart 添加失败,如下:
为了解决这个问题,我们在国内也同步了一份 Rancher Chart,使用时只需要替换成国内的 Rancher Chart 地址即可:
#
同步说明以上提到的资源,我们会通过定时任务每天从 Github 上拉取,同步到国内。也许存在延迟或同步失败的情况,如果发现任何问题,欢迎在微信技术交流群或官方论坛中向我们反馈。