3

我正在使用GCE和Kubernetes来托管我的Rails应用程序,但入口报告此Pod为不健康。下面是我的设置Ingress报告不健康的后端

入口:

spec: 
    backend: 
    serviceName: my-service 
    servicePort: 80 

服务:

spec: 
    type: NodePort 
    selector: 
    app: my-app 
    ports: 
    - port: 80 
     targetPort: 3000 

Depoyment

readinessProbe: 
    httpGet: 
    path: /health_check 
    port: 3000 
    initialDelaySeconds: 20 
    timeoutSeconds: 5 

的入口将该窗格报告为UNHEALTHY,并且在GCE控制台的健康检查列表中看不到/ health_check。它似乎没有被谷歌负载平衡器控制器拿起。

非常感谢。

回答

2

事实证明,入口没有提到我之前改变的准备探测的新路径。问题在我重新创建入口(这绝对不是最佳解决方案)后解决。

+0

嘿,你能解释一下你在readinessProbe上改变了什么吗?我正在努力争取这项工作,我遇到的问题是吊舱显示为“不健康”,并且与您的设置相似。 – mchaffe

+0

我没有改变我准备好的探测器。确保您的入口检测到正确的运行状况检查路径,并且吊舱在健康检查路径返回响应代码200。在最后一个镜头中,尝试删除并重新创建入口。 – ldo

+0

谢谢@Ido这是一个问题,因为readinessProbe没有足够长的timeoutSeconds,所以healthcheck总是失败。 – mchaffe