私有镜像仓库
#
概述RKE 支持在cluster.yml
中配置多个私有镜像仓库。您可以在cluster.yml
中配置私有镜像仓库和凭证,然后从私有镜像仓拉取镜像。
如果您使用的是 Docker Hub 镜像仓库,您可以省略url
,或者将url
的值设置为 docker.io
。
注意
尽管该指令被命名为url
,但没有必要在主机或 IP 地址前加上https://
。
有效的`url'例子包括:
#
默认镜像仓库从 v0.1.10 开始,RKE 支持从私有镜像仓库中指定一个默认的镜像仓库,用于所有系统镜像。在这个例子中,RKE 将使用registry.com
作为所有系统镜像的默认镜像仓库,例如rancher/rke-tools:v0.1.14
将变成registry.com/rancher/rke-tools:v0.1.14
。
#
离线配置选项默认情况下,所有的系统镜像都是从 DockerHub 中拉取的。如果您所在的系统没有访问 DockerHub 的权限,您将需要创建一个私有镜像仓库,该镜像仓库将填充所有需要的系统镜像。
从 v0.1.10 开始,您必须配置您的私有镜像仓库凭证,但您可以指定这个镜像仓库为默认镜像仓库,这样所有的系统镜像都会从指定的私有镜像仓库中提取。您可以使用rke config --system-images
命令来获取默认系统映像的列表来填充您的私有镜像仓库。
在 v0.1.10 之前,您必须配置您的私有镜像仓库凭证并更新cluster.yml
中所有系统镜像的名称,这样镜像名称就会在每个镜像名称前附加私有镜像仓库 URL。
#
Amazon Elastic Container Registry (ECR) 私有注册表设置Amazon ECR 是一种安全、可扩展且可靠的 AWS 托管容器镜像注册服务。有两种方法可以提供 ECR 凭证来设置您的 ECR 私有注册表:使用实例配置文件或添加配置片段,它们是 kubelet
环境变量中的硬编码凭证和 ecrCredentialPlugin
下的凭证。
实例配置文件:实例配置文件是提供 ECR 凭证的首选且更安全的方法(在 EC2 等中运行时)。默认情况下,实例配置文件将被自动检测和使用。有关使用 ECR 权限配置实例配置文件的更多信息,请转到 此处。
配置片段。只有当你的节点存在以下条件时,你才会使用下面的配置片段而不是实例配置文件:
- 节点不是一个 EC2 实例
- 节点是一个 EC2 实例,但没有配置实例配置文件
- 节点是一个 EC2 实例,并且配置了实例配置文件,但没有 ECR 的权限
注意: ECR 凭证只在
kubelet
和ecrCredentialPlugin
区域使用。如果你在创建一个新的集群或在协调/升级过程中拉取镜像时遇到问题,请务必记住这一点。
- Kubelet:对于附加组件、自定义 workload 等,实例配置文件或凭证被下游集群节点使用
- 拉取系统镜像(直接通过 Docker):对于启动、升级、协调等,实例配置文件或凭证被运行 RKE 或运行 Rancher pod 的节点使用。