【发布时间】:2021-05-04 21:05:06
【问题描述】:
目标 我想通过独立的 nginx 服务和 microk8s 节点端口服务访问 kubernetes 仪表板。
上下文 我有一个linux服务器。 在这台服务器上,有几个正在运行的服务,例如:
- microk8s
- nginx(注意:我没有使用ingress,nginx服务独立于microk8s工作)。
这是我正在寻找的工作流程:
- http:// URL /仪表板
- NGINX 服务(从 http:// URL /dashboard 到 nodeIpAddress:nodeport)
- nodePort 服务
- kubernetes 仪表板服务
问题: 但是,每次我请求 http:// URL /dashboard 时,我都会收到 502 bad request 答案,我错过了什么?
配置 nginx配置、节点端口服务配置及microk8s集群状态请看下图:
nginx configuration: /etc/nginx/site-availables/default
node-port-service configuration
非常感谢您的帮助。
【问题讨论】:
-
如果您在仪表板 NodePort 端点手动进行,它是否有效?
-
当我执行时: sudo microk8s kubectl get ep -n kube-system kimchi-nodeport-service > kimchi-nodeport-service enpoint =
所以我假设你希望我使用集群-节点端口服务的 ip 而不是节点 ip。当我这样做时,我会收到一个 err_emtpy_response -
嗯,从 nginx 配置来看,一切都在路径 /dashboard 下,但可能 kubernetes-dashboard 期望 / 路径下的请求。如果是这种情况,您可以尝试在 nginx 配置中使用 rewrite-target 吗?
-
不错的尝试,我将位置从 /dashboard 更改为 /,但是当我使用节点 ip 地址或节点端口服务集群 ip 时仍然有相同的行为。谢谢你的时间和D
-
你能检查一下 kubernetes-dashboard 服务的描述(或带有选项 -oyaml 的获取)吗?检查 Kubernetes Dashboard Pod 是否正在侦听 443 或另一个端口(使用 targetPort)
标签: nginx kubernetes