Rancher 有两种配置 Registry 镜像库的地方,这两种方式起的作用不同。
Rke 配置集群时设置
参考:https://rancher.com/docs/rke/latest/en/config-options/private-registries/
配置多个
RKE支持在中配置多个私有Docker镜像库的功能cluster.yml。通过传递您的镜像库和凭据,它允许节点从这些私有镜像库中提取图像。
private_registries:
- url: registry.com
user: Username
password: password
- url: myregistry.com
user: myuser
password: mypassword
配置默认
从v0.1.10开始,RKE支持从私有镜像库列表中指定要用于所有系统映像的默认镜像库。在此示例中,.RKE将registry.com用作所有系统映像的默认镜像库,例如 rancher/rke-tools:v0.1.14
将变为 registry.com/rancher/rke-tools:v0.1.14
。
private_registries:
- url: registry.com
user: Username
password: password
is_default: true # All system images will be pulled using this registry.
区别
如果是在没有外网的环境使用 rke 配置 k8s 集群,可以按照文档,选择上面的【默认】方式进行配置,这种情况下,所有镜像都从私有镜像库下载。
如果是在 Rancher 上启动工作负载时可以下载私有镜像库,就用上面配置多个的方式进行配置,不要指定【默认】。在 rke 集群已经配置好的情况下,增加上面配置重新 rke up
即可生效。
Rancher 界面操作
Rke 配置镜像库
在如下官方文档中:
https://rancher.com/docs/rancher/v2.x/en/k8s-in-rancher/registries/
也存在着 registries 的配置,配置入口如下:
不同版本有细微区别,但都是点进【密文】配置
进入【密文】后,切换到上图【镜像库凭证列表】,点击右上添加打开如下界面:
不继续了
在使用 Rancher 界面进行配置私有 Harbor 镜像时,配置工作负载时一直提示拉取失败,可能需要 docker login
,在我自己使用中,上面的方式一直是无效!!!
经过个人测试,只有在 rke 配置中配置才能生效。如果你镜像库直接公开,也不需要任何配置。
在kubectl中使用私有镜像库
官方文档还有一种写法的介绍,可以看这里: