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