我正在Azure AKS上运行Kubernetes 1.8。我将docker镜像部署到了pod。我创建了一个Azure公共IP(静态),当我创建它时,我将它提供给NGinx入口控制器。 Kubectl get ingress显示ip已分配给它,/ healthz端点返回200 OK。
kubectl描述了入口显示:
Rules:
Host Path Backends
service1.default.example.com / service1:80 (<none>)
当我请求主机时,我得到一个502坏网关。如果我使用ip,我找不到404。相同的ip,从/ healthz返回200 ok。
一般情况下,容器和设置已经在Minikube中进行了测试并且正在运行。
我的容器没有通过入口暴露出来的问题是什么?与Minikube相比,描述看起来相同。
答案 0 :(得分:0)
发生的事情是您的吊舱所在的入口和服务之间的连线不正确。来自入口吊舱的日志可能会有所帮助。可能有一些特定的事情是错误的。
请求IP直接给出响应的原因是IP与入口不匹配 - &gt;服务规则,所以你只是获得入口的默认后端 - 它给你404.
所以入口很好。服务和pod本身可能很好。但是入口和服务之间的接线有问题。