如何在 OpenShift 中查看 Routes pod

How to view Routes pod in OpenShift

我已经在 OpenShift 中为我的服务创建了路由,

oc get routes

NAME              HOST/PORT                             PATH      SERVICES          PORT 
simplewebserver   simpleweb.apps.devcluster.os.fly.com            simplewebserver   9999                   

当我运行命令时:curl http://simpleweb.apps.devcluster.os.fly.com/world

访问我的网络服务失败。我怀疑我的路由有问题,但是我看不到任何路由调试信息。

我的问题是,如何在 OpenShift 中找到路由 pod 或者访问路由时如何找到一些路由 activity 信息?

因为关于您的问题的信息有限。以下是您可以尝试的一些方法。

  1. 尝试使用端口 curl curl -kv http://simpleweb.apps.devcluster.os.fly.com:9999

  2. 访问为其创建路由的 pod 日志。检查服务 simplewebserver 是否使用正确的选择器将流量路由到 pod。 执行 oc describe service simplewebserver 查看正在使用的选择器。

  3. 检查是否有任何网络策略阻止了外部流量。

  4. 检查您是否可以从同一命名空间中使用该服务访问目标 pod。您可以通过 rsh 到一个 pod 来做到这一点,然后使用以下方法访问该服务: curl -kv http://servicename.projectname.svc.cluster.local

您可以在路由器 pods 的日志容器中查看路由器日志。在我们的 OCP 集群中,我可以在 openshift-ingress 命名空间中看到路由器 pods。

oc get pods -n openshift-ingress
NAME                              READY   STATUS    RESTARTS   AGE
router-default-5f9c4b6cb4-12121a   2/2     Running   0          40h
router-default-5f9c4b6cb4-12133a   2/2     Running   0          40h

要获取日志,请使用以下命令,

oc -n openshift-ingress -c logs logs -f <router_pod_name> 

还要确保 haproxy 日志已启用,以找出通过路由器被攻击的网址。

https://access.redhat.com/solutions/3397701