如何為 Amazon EKS 叢集設定子網路?

上次更新日期:2021 年 10 月 4 日

我想設定用於 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集的子網路。

簡短描述

選擇以下組態選項之一:

  • 若要從您的工作節點取得傳出和傳入網際網路存取權,請完成設定公有子網路部分中的步驟。
  • 若要從您的工作節點取得僅傳出網際網路存取權,請完成設定具有傳出網際網路存取的私有子網路部分中的步驟。
  • 若要限制您工作節點的傳出和傳入網際網路存取,請完成設定沒有網際網路存取的私有子網路部分中的步驟。例如為私有 Amazon EKS 叢集選擇此解決方案。

解決方案

設定公有子網路

為 Amazon EKS 叢集建立子網路時,請考慮以下各項:

1.    將您的子網路與設定為透過網際網路閘道將流量路由到 0.0.0.0/0 目標的路由表相關聯。例如:igw-xxxxxxxx

2.    為子網路啟用 auto-assign public IPV4 address 屬性。

3.    完成使用子網路標記限制負載平衡器部署部分中的步驟。

設定具有傳出網際網路存取的私有子網路

為 Amazon EKS 叢集建立子網路時,請考慮以下各項:

1.    將您的子網路與設定為將流量路由到 NAT 閘道,以僅允許傳出連線到網際網路的路由表相關聯

2.    驗證是否未為您的子網路啟用 auto-assign public IPv4 address

3.    完成使用子網路標記限制負載平衡器部署部分中的步驟。

設定沒有網際網路存取的私有子網路

1.    若要阻止對工作節點的網際網路存取,請確認您的子網路未與路由表關聯。即不與設定為將流量路由到 NAT 閘道或網際網路閘道的路由表關聯。

2.    確認未啟用 auto-assign public IPv4 address

3.    為您的 VPC 建立Amazon Virtual Private Cloud (Amazon VPC) 端點。您的工作節點需要以下 VPC 端點才能加入 Amazon EKS 叢集:

com.amazonaws.your_region.ec2
com.amazonaws.your_region.ecr.api
com.amazonaws.your_region.ecr.dkr
com.amazonaws.your_region.s3

注意:your_region 取代為您的 AWS 區域。

4.    (如果需要) 根據您的應用程式需求建立額外 VPC 端點。請參閱以下範例。

對於 Amazon CloudWatch Logs:

com.amazonaws.your_region.logs

對於服務帳戶的 Kubernetes Cluster Autoscaler 或 AWS Identity and Access Management (IAM) 角色:

com.amazonaws.your_region.sts

對於 Application Load Balancer:

com.amazonaws.your_region.elasticloadbalancing

對於 Kubernetes Cluster Autoscaler:

com.amazonaws.your_region.autoscaling

對於 AWS App Mesh:

com.amazonaws.your_region.appmesh-envoy-management

對於 AWS X-Ray:

com.amazonaws.your_region.xray

注意:your_region 取代為您的 AWS 區域。

5.    完成使用子網路標記限制負載平衡器部署部分中的步驟。

使用子網路標記限制負載平衡器部署

子網路標記告訴 AWS 負載平衡器控制器哪個子網路可用於建立外部或內部負載平衡器。

對於公有子網路:

若要限制在您 VPC 上的特定公有子網路使用 AWS 負載平衡器控制器部署外部負載平衡器,請按如下方式標記該子網路:

Key - kubernetes.io/role/elb
Value - 1

對於私有子網路:

若要限制在特定私有子網路上使用 AWS 負載平衡器控制器部署內部負載平衡器,請按如下方式標記該子網路:

Key - kubernetes.io/role/internal-elb
Value - 1

注意:可以在子網路上執行的 Pod 數量取決於子網路中可用的自由 IP 地址數量。確認您在叢集建立期間指定的子網路有足夠的可用 IP 地址供 Amazon EKS 建立的網路界面使用。最佳實務是為 Amazon EKS 建立的網路界面建立小型 (即 /28) 專用子網路。然後,您必須僅在叢集建立期間指定這些子網路。在與叢集建立期間指定的子網路不同的子網路中啟動其他資源,例如節點和負載平衡器。


此文章是否有幫助?


您是否需要帳單或技術支援?