Kubernetes 从Red Hat注册表中提取图像的权限被拒绝

Kubernetes 从Red Hat注册表中提取图像的权限被拒绝,kubernetes,openshift,Kubernetes,Openshift,我正在使用Openshift 4.1集群中的操作员安装一个应用程序,该操作员需要从Red Hat注册表中获取图像。当我从我的项目运行安装时,操作员试图从Red Hat注册表中提取一个映像,而我的权限被拒绝 >oc project 3scale >oc import-image amp-apicast --from=registry.redhat.io/3scale-amp26/apicast-gateway --confirm Unable to sync image for ta

我正在使用Openshift 4.1集群中的操作员安装一个应用程序,该操作员需要从Red Hat注册表中获取图像。当我从我的项目运行安装时,操作员试图从Red Hat注册表中提取一个映像,而我的权限被拒绝

>oc project 3scale
>oc import-image amp-apicast --from=registry.redhat.io/3scale-amp26/apicast-gateway --confirm

Unable to sync image for tag amp-apicast:2.6. Internal error occurred: Get https://registry.redhat.io/v2/3scale-amp26/apicast-gateway/manifests/latest: unauthorized: Please login to the Red Hat Registry using your Customer Portal credentials. Further instructions can be found here: https://access.redhat.com/articles/3399531
但是当我从集群中的Openshift项目中手动提取图像时,我从Openshift配置项目中提取的秘密被提取出来,并且它成功地下载了图像

>oc project openshift
>oc import-image amp-apicast --from=registry.redhat.io/3scale-amp26/apicast-gateway --confirm
让我的项目能够从Red Hat注册表下载图像的最佳方法是什么?据我所知,将pull秘密复制到我的项目中并不是解决问题的方法

谢谢

让我的项目能够从Red Hat注册表下载images>的最佳方式是什么?据我所知,将pull秘密复制到我的项目中并不是解决问题的方法

如果您可以访问此处:,则最好通过
创建注册表服务帐户
步骤创建注册表凭据密码。由于注册表凭据机密的类型为
kubernetes.io/dockerconfigjson
,因此可以在
openshift
中启用图像提取

e.g.>
# oc get secret -n openshift
NAME                       TYPE                                  DATA      AGE
imagestreamsecret          kubernetes.io/dockerconfigjson        1         25d
...
如果该类型的机密存在于同一命名空间中,则该类型的机密将由image pull credential secret自动使用

此处提供了有关手动配置步骤的更多信息

$ oc create secret generic <pull_secret_name> \
    --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson
$oc创建机密通用\
--从文件=.dockerconfigjson=\
--类型=kubernetes.io/dockerconfigjson
在名称空间中创建凭据机密后,尝试执行
oc import image
。为了进行测试,您还可以将
openshift
中的秘密复制到您的命名空间中。我希望它能帮助你

让我的项目能够从Red Hat注册表下载images>的最佳方式是什么?据我所知,将pull秘密复制到我的项目中并不是解决问题的方法

如果您可以访问此处:,则最好通过
创建注册表服务帐户
步骤创建注册表凭据密码。由于注册表凭据机密的类型为
kubernetes.io/dockerconfigjson
,因此可以在
openshift
中启用图像提取

e.g.>
# oc get secret -n openshift
NAME                       TYPE                                  DATA      AGE
imagestreamsecret          kubernetes.io/dockerconfigjson        1         25d
...
如果该类型的机密存在于同一命名空间中,则该类型的机密将由image pull credential secret自动使用

此处提供了有关手动配置步骤的更多信息

$ oc create secret generic <pull_secret_name> \
    --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson
$oc创建机密通用\
--从文件=.dockerconfigjson=\
--类型=kubernetes.io/dockerconfigjson
在名称空间中创建凭据机密后,尝试执行
oc import image
。为了进行测试,您还可以将
openshift
中的秘密复制到您的命名空间中。我希望它能帮助你