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

时间:2020-09-09 18:56:14

标签: kubernetes openshift service-accounts

我试图将服务帐户添加到已部署的应用程序中,但到目前为止,我一直收到“应用程序不可用消息”,我做了以下事情

创建的服务帐户

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

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

1 个答案:

答案 0 :(得分:0)

我不确定ServiceAccount的许可是否会引起此问题。 我认为首先您应该通过Route-> Service-> Pod来检查访问流的关系,并使用curl命令验证您的应用程序是否正常运行。 我向您显示了以下故障排除步骤。

  1. 检查您的路线与之绑定的服务。 在这种情况下,docker-registry服务与路由相关联。
$ 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. 然后检查服务是否可以正确检测到端点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