2.9.2. 经过身份验证的用户 registry 的错误或缺少凭证


问题

Pod 没有启动。镜像流显示以下错误:

! error: Import failed (InternalError): ...unauthorized: Please login to the Red Hat Registry

原因

在 OpenShift 4.x 上安装 3scale 时,OpenShift 无法启动 pod,因为 ImageStreams 无法拉取它们引用的镜像。这是因为 pod 无法针对它们所指向的 registry 进行身份验证。

解决方案

流程

  1. 键入以下命令以验证容器 registry 身份验证的配置:

    $ oc get secret
    • 如果 secret 存在,您会在终端中看到以下输出:

      threescale-registry-auth          kubernetes.io/dockerconfigjson        1         4m9s
    • 但是,如果没有看到输出结果,您必须执行以下操作:
  2. 创建 registry 服务帐户时,使用之前设置的凭证来创建您的 secret。
  3. 使用在 OpenShift 中配置 registry 身份验证的步骤,替换 oc create secret 命令中的 <your-registry-service-account-username> and <your-registry-service-account-password>
  4. 在与 APIManager 资源相同的命名空间中生成 threescale-registry-auth secret。您必须在 <project-name> 中运行以下命令:

    oc project <project-name>
    oc create secret docker-registry threescale-registry-auth \
      --docker-server=registry.redhat.io \
      --docker-username="<your-registry-service-account-username>" \
      --docker-password="<your-registry-service-account-password>"
      --docker-email="<email-address>"
  5. 删除并重新创建 APIManager 资源:

    $ oc delete -f apimanager.yaml
    apimanager.apps.3scale.net "example-apimanager" deleted
    
    $ oc create -f apimanager.yaml
    apimanager.apps.3scale.net/example-apimanager created

验证

  1. 键入以下命令,以确认部署的状态为 StartingReady :pod 会开始生成:

    $ oc describe apimanager
    (...)
    Status:
      Deployments:
        Ready:
          apicast-staging
          system-memcache
          system-mysql
          system-redis
          zync
          zync-database
          zync-que
        Starting:
          apicast-production
          backend-cron
          backend-worker
          system-sidekiq
          system-sphinx
        Stopped:
          backend-listener
          backend-redis
          system-app
  2. 键入以下命令以查看每个 pod 的状态:

    $ oc get pods
    NAME                               READY   STATUS             RESTARTS   AGE
    3scale-operator-66cc6d857b-sxhgm   1/1     Running            0          17h
    apicast-production-1-deploy        1/1     Running            0          17m
    apicast-production-1-pxkqm         0/1     Pending            0          17m
    apicast-staging-1-dbwcw            1/1     Running            0          17m
    apicast-staging-1-deploy           0/1     Completed          0          17m
    backend-cron-1-deploy              1/1     Running            0          17m
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.