協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定叢集 API 伺服器端點的網路存取
您可以在下列各節中使用 AWS Management Console 或 CLI AWS 修改叢集 API 伺服器端點存取。
設定端點存取 - AWS 主控台
-
開啟 Amazon EKS 主控台
。 -
選擇叢集名稱以顯示您叢集的資訊。
-
選擇聯網索引標籤,然後選擇管理端點存取。
-
針對私有存取,選擇是否啟用或停用叢集 Kubernetes API 伺服器端點的私有存取。如果您啟用私有存取,則來自叢集 VPC 內的 Kubernetes API 請求會使用私有 VPC 端點。您必須啟用私有存取,才能停用公有存取。
-
針對公有存取,選擇是否啟用或停用叢集 Kubernetes API 伺服器端點的公有存取。如果您停用公有存取,叢集的 Kubernetes API 伺服器只能接收來自叢集 VPC 內的請求。
-
(選用) 如果您已啟用公有存取,您可以指定哪些來自網際網路的地址可以與公有端點通訊。選取 Advanced Settings (進階設定)。輸入 CIDR 區塊,例如
203.0.113.5/32
。區塊不能包含預留地址。您可以透過選取 Add source (新增來源) 來輸入其他區塊。您可以指定的 CIDR 區塊有數量上限。如需詳細資訊,請參閱檢視和管理 Amazon EKS 和 Fargate 服務配額。如果您未指定區塊,則公有 API 伺服器端點會收到來自雙堆疊 IPv6
叢集IPv4
(0.0.0.0/0
) 和額外IPv6
(::/0
) 之所有 IP 地址的請求。如果您使用 CIDR 區塊限制對公有端點的存取,我們建議您也啟用私有端點存取,以便節點和 Fargate Pods(如果您使用它們) 可以與叢集通訊。若不啟用私有端點,您的公有存取端點 CIDR 來源必須包含來自 VPC 的輸出來源。例如,如果您的私有子網路中有節點,透過 NAT 閘道與網際網路通訊,則您必須將 NAT 閘道的對外 IP 地址新增至公有端點上的白名單 CIDR 區塊。 -
選擇 Update (更新) 以完成操作。
設定端點存取 - AWS CLI
使用 CLI AWS 版本 1.27.160
或更新版本完成下列步驟。您可以使用 aws --version
來檢查您的目前版本。若要安裝或升級 AWS CLI,請參閱安裝 AWS CLI。
-
使用以下 CLI AWS 命令更新您的叢集 API 伺服器端點存取權。替換叢集名稱和所需的端點存取值。如果您設定了
endpointPublicAccess=true
,則可以 (選擇性地) 為publicAccessCidrs
輸入單一 CIDR 區塊或以逗號分隔的 CIDR 區塊清單。區塊不能包含預留地址。如果您指定 CIDR 區塊,則公有 API 伺服器端點只會接收來自所列出區塊的要求。您可以指定的 CIDR 區塊有數量上限。如需詳細資訊,請參閱檢視和管理 Amazon EKS 和 Fargate 服務配額。如果您使用 CIDR 區塊限制對公有端點的存取,則建議您也啟用私有端點存取,以便節點和 Fargate Pods (如果您使用它們) 可以與叢集通訊。若不啟用私有端點,您的公有存取端點 CIDR 來源必須包含來自 VPC 的輸出來源。例如,如果您的私有子網路中有節點,透過 NAT 閘道與網際網路通訊,則您必須將 NAT 閘道的對外 IP 地址新增至公有端點上的白名單 CIDR 區塊。如果您未指定 CIDR 區塊,則公有 API 伺服器端點會收到來自所有 (0.0.0.0/0) IP 地址的請求,以及雙堆疊 IPv6
叢集的其他IPv6
(::/0
) 請求。注意
下列命令會啟用 API 伺服器端點的私有存取以及來自單一 IP 地址的公有存取。使用單一 CIDR 區塊或您想要限制網路存取的 CIDR 區塊清單取代
203.0.113.5/32
。aws eks update-cluster-config \ --region region-code \ --name my-cluster \ --resources-vpc-config endpointPublicAccess=true,publicAccessCidrs="203.0.113.5/32",endpointPrivateAccess=true
範例輸出如下。
{ "update": { "id": "e6f0905f-a5d4-4a2a-8c49-EXAMPLE00000", "status": "InProgress", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "true" }, { "type": "EndpointPrivateAccess", "value": "true" }, { "type": "publicAccessCidrs", "value": "[\"203.0.113.5/32\"]" } ], "createdAt": 1576874258.137, "errors": [] } }
-
使用叢集名稱和前述命令傳回的更新 ID,藉由以下命令監控端點存取的更新狀態,當狀態顯示為
Successful
,您的更新就完成了。aws eks describe-update \ --region region-code \ --name my-cluster \ --update-id e6f0905f-a5d4-4a2a-8c49-EXAMPLE00000
範例輸出如下。
{ "update": { "id": "e6f0905f-a5d4-4a2a-8c49-EXAMPLE00000", "status": "Successful", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "true" }, { "type": "EndpointPrivateAccess", "value": "true" }, { "type": "publicAccessCidrs", "value": "[\"203.0.113.5/32\"]" } ], "createdAt": 1576874258.137, "errors": [] } }