如果我通过http load balancer example运行它,则可以在我的Google容器引擎项目中正常运行。当我运行“kubectl description ing”时,后端为“HEALTHY”。如果然后将svc更改为一个指向我的应用程序的svc,如下所示:
apiVersion: v1
kind: Service
metadata:
name: app
labels:
name: app
spec:
ports:
- port: 8000
name: http
targetPort: 8000
selector:
name: app
type: NodePort
我正在运行的应用程序在gunicorn后面是django,并且可以找到我是否使该负载均衡器代替了NodePort来工作。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: main-ingress
spec:
backend:
serviceName: app
servicePort: 8000
现在,当我运行“kubectl description ing”时,后端被列为“UNHEALTHY”,并且对入口IP的所有请求都给出502。
最佳答案
经过大量的挖掘,我找到了答案:
根据此处的要求:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/cluster-loadbalancing/glbc#prerequisites应用程序必须在“/”处返回200状态代码。因为我的应用程序返回了302(重定向到登录名),所以运行状况检查失败。当运行状况检查失败时,入口资源返回502。