簡體   English   中英

我的 AWS VPC 中的 IP 空間有限。 如何在工作節點和控制平面位於不同子網的 AWS 中設置 Kubernetes

[英]I have limited IP space in my AWS VPC. How do I setup Kubernetes in AWS where worker nodes and control plane are in different subnets

我在面向公眾的 VPC 中的 IP 有限,這基本上意味着我無法在該 VPC 中運行 K8S 工作節點,因為我沒有足夠的 IP 來支持所有 pod。 我的要求是在面向公眾的 VPC 中運行控制平面,並在具有私有 IP 范圍 (192.168.XX) 的不同 VPC 中運行工作程序節點。

我們使用 traefik 進行入口並將 traefik 部署為 DaemonSet。 這些 pod 使用 NLB 類型的 Kubernetes 服務公開。 我們在這個 NLB 之上創建了一個 VPC 端點,它允許我們通過我們面向公眾的 VPC 訪問這個 traefik 端點。

但是,根據文檔,NLB 支持似乎仍處於 alpha 階段。 鑒於上述限制,我很好奇我的其他選擇是什么。

通常,在 Kubernetes 集群中,Pod 運行在單獨的覆蓋子網中,不應與 VPC 中的現有 IP 子網重疊。
此功能由 Kubernetes 集群網絡解決方案提供,如 Calico、Flannel、Weave
因此,您只需要有足夠的 IP 地址空間來支持所有集群節點。

使用 NLB的主要好處是將客戶端 IP 地址公開給 Pod,因此如果沒有這樣的要求,常規 ELB 對大多數情況都適用。

您可以將輔助 CIDR 添加到您的 vpc,並使用此處提到的兩個選項之一讓 pod 使用輔助 vpc CIDR。 https://aws.amazon.com/blogs/containers/optimize-ip-addresses-usage-by-pods-in-your-amazon-eks-cluster/

暫無
暫無

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

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