Google-Cloud-Platform
損壞的 GKE 後端執行狀況檢查預設值
我已經閱讀了這篇文章,並且我理解(我認為)Kubernetes livenessProbes 和 GKE LoadBalancer 健康檢查之間的區別。
我的問題是:我通過 NodePort 公開我的大部分 Kube 服務,預設情況下它會在 GKE 中創建一個新的後端服務,並且還會在 GKE 中創建一個與該後端 HTTP 服務相對應的負載均衡器健康檢查。
所有這些自動創建的健康檢查都假設我在 / 上有一個 HTTP 狀態端點,而我沒有。我有一個託管在不同端點上的 HTTP 執行狀況檢查。
我如何
A) 以某種方式提示 GKE 根據 Kubernetes 資源中定義的規則創建負載均衡器規則,而不是盲目地創建一堆監聽錯誤路由的規則,或者
B) 讓 GKE 不會自動為每個 NodePort 服務創建無效的健康檢查。
或者這只是一個不靈活的Google云怪癖,我必須更改程式碼才能解決?
發現答案是
年
B. 沒有
通過閱讀Kubernetes Ingress Github README.MD:
“..目前我們只依賴 kubernetes 服務/pod 活躍度探測,並強制 pod 有一個 / 端點,該端點以 200 響應 GCE。”
今天,您可以使用 backendconfigs 配置這些。backendConfig 用於配置入口如何與服務對話,包括告訴它如何進行健康檢查。
apiVersion: v1 kind: Service metadata: annotations: cloud.google.com/backend-config: '{"default": "my-backendconfig"}' ...
然後你可以直接在 backendconfig 中配置健康檢查:
apiVersion: cloud.google.com/v1 kind: BackendConfig metadata: name: my-backendconfig spec: healthCheck: checkIntervalSec: INTERVAL timeoutSec: TIMEOUT healthyThreshold: HEALTH_THRESHOLD unhealthyThreshold: UNHEALTHY_THRESHOLD type: PROTOCOL requestPath: PATH port: PORT