【问题标题】:OpenShift Error creating: pods "pod-name" is forbidden: service account was not foundOpenShift 错误创建:pod“pod-name”被禁止:未找到服务帐户
【发布时间】:2017-04-25 19:35:40
【问题描述】:

我正在尝试使用以下说明部署 Red Hat Single Sign-On 容器:https://access.redhat.com/documentation/en-us/red_hat_jboss_middleware_for_openshift/3/html/red_hat_jboss_sso_for_openshift/get_started。但是,当我部署容器时,我收到错误“创建错误:pods“sso-1-”被禁止:服务帐户项目名称/sso-service-account 未找到,创建服务帐户后重试。”

重现问题的步骤:

  1. 在 OpenShift Web GUI 中,创建名为 project-name 的项目
  2. 在 OpenShift Master 上,创建 SSL 密钥库:keytool -genkeypair -alias keystore -keyalg RSA -keystore keystore.jks -storepass password
  3. 在 OpenShift Master 上,创建 JGroups 密钥库:keytool -genkeypair -alias jgroups -keyalg RSA -keystore jgroups.jceks -storepass password
  4. 在 OpenShift Master 上,为 RH-SSO 创建密钥:oc create secret generic sso-app-secret --from-file=keystore.jks --from-file=jgroups.jceks
  5. 在 OpenShift Master 上,创建 SSO 服务帐户:oc create serviceaccount sso-service-account
  6. 在 OpenShift Master 上,将视图角色添加到 SSO 服务帐户的项目:oc policy add-role-to-user view system:serviceaccount:project-name:sso-service-account -n project-name
  7. 在 OpenShift Master 上,将密钥添加到 SSO 服务帐户:oc secret add sa/sso-service-account secret/sso-app-secret
  8. 在 OpenShift Web GUI 中,使用默认设置部署 sso70-https

【问题讨论】:

  • 您是否在正确的命名空间中创建了服务帐户?
  • 我如何知道在哪个命名空间“oc create serviceaccount sso-service-account”下创建帐户?我需要指定项目名称/sso-service-account 吗?
  • oc create serviceaccount sso-service-account -n namespace

标签: docker openshift


【解决方案1】:
oc create serviceaccount sso-service-account -n project-name

确保使用@debianmaster 所述的-n 在正确的命名空间中创建它

【讨论】:

  • 执行这些步骤并尝试重新部署应用程序后,我收到错误 Error syncing pod, skipping: failed to "StartContainer" for "sso" with ErrImagePull: "unauthorized: authentication required"
  • 这段时间还有其他日志吗? SA 似乎缺少其令牌或提取图像的能力?
  • 我们认为是无法拉取图片。部署容器的用户是创建项目的 LDAP 用户。我们尝试通过 CLI 在默认项目中部署应用程序,并且成功了。有鉴于此,我们运行oadm policy add-scc-to-user anyuid -n project-name -z default 以使项目名称中的任何用户都能够部署容器。但这仍然不起作用。
  • 据我所知,该错误与scc 无关。这个项目是如何创建的(oc create namespace vs oc new-project)?默认项目模板使所有 SA 都可以提取图像。 oc policy add-role-to-user system:image-puller -z default -n project-name 可用于手动添加权限,但如果您使用 oc new-project 创建项目,则不需要这样做。
  • 我实际上是在 GUI 中以 LDAP 用户身份登录的项目。这会影响什么吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-25
  • 2018-08-08
  • 2019-05-14
  • 2020-04-10
  • 2018-06-13
  • 1970-01-01
  • 2017-11-04
相关资源
最近更新 更多