【问题标题】:openshift add service account to deployed appopenshift 将服务帐户添加到已部署的应用程序
【发布时间】:2020-09-12 15:04:56
【问题描述】:

我正在尝试将服务帐户添加到已部署的应用程序,但到目前为止,我一直收到“应用程序不可用消息”,我执行了以下操作

已创建服务帐号

oc create sa name-sa
oc add policy add-scc-to-user anyuid -z name-sa -n book

将服务帐户添加到已部署的应用程序

oc set serviceacccount deploymentconfig wordapp name-sa

我检查了 pod 并且应用程序正在运行,但我仍然无法看到路由的任何输出,并且 oc desribe pod 命令没有给出任何错误

【问题讨论】:

    标签: kubernetes openshift service-accounts


    【解决方案1】:

    我不确定 ServiceAccount 的权限是否会导致此问题。 我认为首先你应该通过 Route -> Service -> Pod 检查访问流的关系,并使用 curl 命令验证你的应用程序是否正常工作。 我向您展示故障排除步骤如下。

    1. 检查您的路由绑定了哪些服务。 在这种情况下,docker-registry 服务与 Route 相关联。
    $ oc describe route <your routename>
    :
    Service:    docker-registry
    Weight:     100 (100%)
    Endpoints:  10.128.1.94:5000   <--- You can check if this IP is matched with your application pod IP.
    
    1. 然后检查Service是否能正确检测到Endpoint pod。
    $ oc describe svc docker-registry
    :
    Port:              5000-tcp  5000/TCP
    TargetPort:        5000/TCP
    Endpoints:         10.128.1.94:5000   <--- You can check if this IP is matched with your application pod IP.
    
    1. 使用 curl 验证 pod 上应用程序的可访问性
    $ oc rsh <your pod name> curl -vs http://localhost:5000/
    :
    < HTTP/1.1 200 OK   <--- You check if you can get expected response of your application on the pod.
    
    1. 此外,您还可以通过设置 SCC 权限和 ServiceAccount 来检查您的 pod 是否正在运行。
    4 oc get pod <your podname> -o yaml | grep -E 'scc|serviceAccountName'
        openshift.io/scc: anyuid
      serviceAccountName: name-sa
    

    【讨论】:

      猜你喜欢
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 2014-04-30
      相关资源
      最近更新 更多