5.4. 使用镜像 pull secret
要通过容器 registry 进行身份验证,并在 OpenShift Container Platform 项目或安全 registry 中拉取镜像,您可以配置和使用镜像 pull secret。
您首先获取 registry 身份验证凭据,它们通常在 Docker 的 ~/.docker/config.json 文件中找到,或者由 Red Hat OpenShift Cluster Manager 进程的 pull secret 创建的 ~/.config/containers/auth.json 文件。然后,使用此内容来创建或更新集群中的全局 pullSecret 对象,允许从 quay.io 和 registry.redhat.io 访问镜像。
如果您使用 OpenShift 镜像 registry,并从位于同一项目中的镜像流拉取(pull),则您的 Pod 服务帐户应已具有正确的权限。不需要额外的操作。
5.4.1. 允许 pod 在项目间引用镜像 复制链接链接已复制到粘贴板!
要允许一个 OpenShift Container Platform 项目中的 pod 引用另一个项目中的镜像,您可以将服务帐户绑定到目标项目中的 system:image-puller 角色。使用 oc policy add-role-to-user 或 oc policy add-role-to-group 命令授予跨项目镜像访问权限。
在创建 pod 服务帐户或命名空间时,请等待服务帐户置备了 Docker pull secret。如果您在服务帐户被完全置备前创建 pod,则 Pod 无法访问 OpenShift 镜像 registry。
流程
输入以下命令,允许
project-a中的 pod 引用project-b中的镜像。在本例中,project-a中的服务帐户default绑定到project-b中的system:image-puller角色:$ oc policy add-role-to-user \ system:image-puller system:serviceaccount:project-a:default \ --namespace=project-b可选:允许使用
add-role-to-group标志访问project-a中的任何服务帐户。例如:$ oc policy add-role-to-group \ system:image-puller system:serviceaccounts:project-a \ --namespace=project-b