簡體   English   中英

單個 GKE ingress controller 是否可以擁有多個 ingress 資源

[英]Is it possible to have multiple ingress resources with a single GKE ingress controller

GKE Ingress 文檔中,它指出:

當您創建 Ingress object 時,GKE Ingress controller 會創建一個 Google Cloud HTTP(S) Load Balancer 並根據 Ingress 及其關聯服務中的信息對其進行配置。

在我看來,單個 GCP 入口 controller 無法擁有多個入口資源。相反,GKE 為每個入口資源創建一個新入口 controller。

真的是這樣嗎,還是說 GKE 中一個入口 controller 可以有多個入口資源?

我想將一個 GCP LoadBalancer 作為入口 controller 配置為 static IP 和 DNS,然后讓多個應用程序在集群中運行,每個應用程序使用特定於應用程序的主機和/或路徑規范注冊自己的入口資源。

請注意,總的來說,我對 GKE、GCP 和 Kube.netes 很陌生,所以我可能誤解了一些東西。

我認為您實際提出的問題與您所寫的略有不同。 你想知道多個Ingress資源是否可以鏈接到單個GCP Load Balancer,而不是GKE Ingress controller。基於一個controller的概念,一個集群中只有一個GKE Ingress controller,負責完成多個資源和配置多個負載均衡器。

所以,直接回答這個問題(因為我一直在尋找一個直接的答案很長一段時間:):

不支持將多個 Ingress 資源合並到一個 Google Cloud 負載平衡器中。

來源: https://cloud.google.com/kube.netes-engine/docs/concepts/ingress

傷心。

然而,使用 nginx-ingress controller 是一種至少減少所提供的外部 (GCP) 負載均衡器數量的方法(它只提供一個 TCP 負載均衡器),但由於負載均衡器用於 TCP 流量,它不能終止 SSL ,或為您應用防火牆規則(例如,無法使用 Cloud Armor)。

我知道在 GCP 中有一個 HTTPS 負載均衡器終止 SSL 並將流量路由到 GKE 中的多個服務的唯一方法是將入口組合到一個資源中,並將所有路徑和證書定義在一個地方。

(如果有人想出一種方法來使用多個單獨的入口資源,我很樂意聽到!)

是的,多個入口資源可以有一個入口 controller。

您可以根據路徑要求創建多個入口資源,所有入口資源都將由單個入口 controller 管理。

還有多個入口 controller 選項也可用,您也可以使用 Nginx,這將創建一個 LB 並管理路徑。

在 Kube.netes 中,如果您正在創建類型為LoadBalancer的服務,它將在 GCP 中創建新的 LB 資源,因此請確保您的微服務類型是ClusterIP ,並且您的所有流量都通過入口路徑進入 K8s 集群。

當您設置入口 controller 時,它將創建一個類型為LoadBalancer的服務,您可以在 DNS 服務器中使用該 IP 將子域和路徑轉發到 K8s 集群。

暫無
暫無

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

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