我正在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相比,描述看起来相同。
发生的事情是,您的吊舱后面的入口和服务之间的连线不正确。来自入口吊舱的日志可能会有所帮助。可能有一些特定的事情是错误的。
请求IP直接给出响应的原因是IP与入口 - >服务规则不匹配,因此您只是获得入口的默认后端 - 它为您提供404。
因此入口很好。服务和pod本身可能很好。但是入口和服务之间的接线有问题。