2.2.5. 启用身份验证的 Red Hat Registry
Red Hat Container Catalog (registry.access.redhat.com
)是一个托管的镜像 registry,通过它可以获得所需的容器镜像。OpenShift Container Platform 3.11 Red Hat Container Catalog 从 registry.access.redhat.com
移到 registry.redhat.io
。
新的 registry(Registry.redhat.io
)需要进行身份验证才能访问OpenShift Container Platform上的镜像及内容。当迁移到新registry后,现有的registry仍将在一段时间内可用。
OpenShift Container Platform从Registry.redhat.io中
提取(pull)镜像,因此需要配置集群以使用它。
新registry使用标准的OAuth机制进行身份验证:
- 身份验证令牌。令牌(token)是服务帐户,由管理员生成。系统可以使用它们与容器镜像registry进行身份验证。服务帐户不受用户帐户更改的影响,因此使用令牌进行身份验证是一个可靠且具有弹性的方法。这是生产环境集群中唯一受支持的身份验证选项。
-
Web用户名和密码。这是用于登录到诸如
access.redhat.com
之类的资源的标准凭据集。虽然可以在OpenShift Container Platform上使用此身份验证方法,但在生产环境部署中不支持此方法。此身份验证方法应该只限于在OpenShift Container Platform之外的独立项目中使用。
您可以在 docker login
中使用您的凭证(用户名和密码,或身份验证令牌)来访问新 registry 中的内容。
所有镜像流均指向新的registry。由于新 registry 需要进行身份验证才能访问,因此 OpenShift 命名空间中有一个名为 imagestreamsecret
的新机密。
您需要将凭据放在两个位置:
- OpenShift 命名空间 。您的凭据必须存在于 OpenShift 命名空间中,以便 OpenShift 命名空间中的镜像流可以导入。
- 您的主机。您的凭据必须存在于主机上,因为在抓取(pull)镜像时,Kubernetes会使用主机中的凭据。
访问新 registry:
-
验证镜像导入 secret(
imagestreamsecret
)是否位于 OpenShift 命名空间中。该 secret 具有允许您访问新 registry 的凭证。 -
验证所有集群节点都有一个
/var/lib/origin/.docker/config.json
,可以从 master 中复制,供您访问红帽 registry。