簡體   English   中英

使用GCP進行自定義健康檢查

[英]Custom Health check with GCP

嗨,我嘗試對GCP LoadBalancer使用自定義運行狀況檢查。

我添加了readinessProbelivenessProbe如下所示:

    readinessProbe:
      httpGet:
        path: /health
        port: dash
      initialDelaySeconds: 5
      periodSeconds: 1
      timeoutSeconds: 1
      successThreshold: 1
      failureThreshold: 10
    livenessProbe:
      httpGet:
        path: /health
        port: dash
      initialDelaySeconds: 5
      periodSeconds: 1
      timeoutSeconds: 1
      successThreshold: 1
      failureThreshold: 10

但是,當我創建自己的入口時,我沒有進行自定義健康檢查

路徑LB

我認為您對GCP中的資源感到困惑。

您發布的代碼與負載均衡器資源無關,因為它是對pod狀態的kubernetes健康檢查。 如果您想知道探針是否正常工作,請檢查容器的狀態,如果它沒有運行,請描述您的容器並查看日志,這應該表明探針存在問題。

我將猜測您的kubernetes配置文件中的某個地方有一個入口資源,它會像運行狀況檢查一樣創建lb及其周圍的所有資源(仍然猜測您發布的圖像與此相關)。

如果您使用的是GKE,則應保留已部署的k8s配置中的google自動資源配置,因為這可能會破壞google已經為您維護的某些功能。

最終確定了答案。 我試圖做的事是不可能的。 我的GCE Ingress在端口80上使用了后端。 但是在我的ReadinessProbe中,我告訴他檢查端口8080/health路徑。 這是不可能的!

Ingress后端中聲明的服務端口必須與readinessProbe中聲明的端口相同。 只有路徑可以不同 如果我們不遵守此模式,則它是/與運行狀況檢查GCP路徑相關聯。

從網絡的角度來看,這是合乎邏輯的,如果我們告訴它在端口80 ReadinessProbe由但我們的ReadinessProbe在另一個端口上,則運行狀況檢查GCP不在Kube群集中,即使該端口關聯ReadinessProbe遇到端口80 (它必須在其上路由通信的端口)也響應。

總之,在Ingress中聲明的后端端口必須在同一端口上具有readinessProbe 我們唯一可以自定義的是路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM