我正在 Azure AKS 上运行 Kubernetes 1.8。我已将 docker 镜像部署到 pod 中。我创建了一个 Azure 公共(public) ip(静态),在创建它时将其提供给 NGinx 入口 Controller 。 Kubectl get ingress 显示 IP 已分配给它,并且/healthz 端点返回 200 OK。
kubectl 描述入口显示:
Rules:
Host Path Backends
service1.default.example.com / service1:80 (<none>)
当我请求主机时,我得到一个 502 bad gateway。如果我使用 ip,我会得到 404 not found。相同的 ip,从/healthz 返回 200 ok。
容器和设置总体上已经在 Minikube 中进行了测试并且正在运行。
我的容器没有通过入口暴露可能是什么问题?描述与 Minikube 相比看起来相同。
最佳答案
发生的情况是入口和 Pod 返回的服务之间的接线不正确。来自 ingress pod 的日志可能会有所帮助。可能存在一些具体问题。
直接请求 IP 给出响应的原因是 IP 与入口 -> 服务规则不匹配,因此您只是获得入口的默认后端 - 这会给您带来 404。
所以入口没问题。服务和 pod 本身可能还不错。但是入口和服务之间的接线出了问题。
关于Azure Kubernetes - 无法连接 Pod 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050579/