協助改善此頁面
想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
創建一個 Amazon EKS 群集
本主題提供可用選項的概觀,並說明建立 Amazon EKS 叢集時應考量的事項。如果您需要在 AWS Outpost 上建立叢集,請參閱在上建立本機 Amazon EKS 叢集 AWS Outposts 以獲得高可用性。如果這是您第一次建立 Amazon EKS 叢集,建議您遵循我們的開始使用 Amazon EKS指南。這些指南可協助您建立一個簡單的預設叢集,而無需擴展到所有可用選項。
必要條件
-
符合 Amazon EKS 要求的現有VPC和子網路。在您部署叢集以供生產使用之前,建議您先全面了解VPC和子網路需求。如果您沒有VPC和子網,則可以使用 Amazon EKS 提供的 AWS CloudFormation 模板創建它們。
-
已在裝置或 AWS CloudShell上安裝
kubectl
命令列工具。版本可以與您的叢集 Kubernetes 版本相同,或是為最多比該版本更舊一版或更新一版的次要版本。例如,如果您的叢集版本為1.29
,則可以搭配使用kubectl
1.28
、1.29
或1.30
版。若要安裝或升級kubectl
,請參閱 設定kubectl和 eksctl。 -
您裝置上安裝和設定的 AWS Command Line Interface (AWS CLI) 的版本
1.27.160
或更新版本、版本或更新版本或更新版本或更新版本 AWS CloudShell。2.12.3
若要檢查您目前的版本,請使用
。如aws --version | cut -d / -f2 | cut -d ' ' -f1
yum
、apt-get
或適用於 macOS 的 Homebrew 等套件管理工具通常比最新版本的 AWS CLI落後數個版本之多。若要安裝最新版本,請參閱《AWS Command Line Interface 使用者指南》中的安裝、更新和解除安裝 AWS CLI以及使用 aws configure 的快速組態。安裝在中的 AWS CLI 版本也 AWS CloudShell 可能是最新版本之後的幾個版本。若要進行更新,請參閱《AWS CloudShell 使用者指南》中的〈安裝 AWS CLI 到主目錄〉。 -
具有 Amazon EKS 叢集許可
create
的IAM主體。describe
如需詳細資訊,請參閱 在 Outpost 上建立本機 Kubernetes 叢集 和 所有叢集的清單或描述。
若要建立 Amazon EKS 叢集
-
如果您已經有叢集IAM角色,或者您要使用建立叢集
eksctl
,則可以略過此步驟。根據預設,eksctl
會為您建立角色。若要建立 Amazon EKS 叢集IAM角色
-
執行下列命令以建立IAM信任原則JSON檔案。
cat >
eks-cluster-role-trust-policy.json
<<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF -
建立 Amazon EKS 叢集IAM角色。如有必要,前言
eks-cluster-role-trust-policy.json
使用您在上一步中寫入文件的計算機上的路徑。命令會將您在上一步驟中建立的信任策略與角色相關聯。若要建立IAM角色,建立角色的IAM主參與者必須被指派iam:CreateRole
動作 (權限)。aws iam create-role --role-name
myAmazonEKSClusterRole
--assume-role-policy-document file://"eks-cluster-role-trust-policy.json
" -
您可以指派 Amazon 受EKS管政策或建立自己的自訂政策。如需了解在自訂政策中必須使用的最低許可,請參閱 Amazon EKS 群集IAM角色。
將命名的 Amazon EKS 受管政策附加
AmazonEKSClusterPolicy
到該角色。若要將IAM原則附加至IAM主參與者,必須將附加原則的主參與者指派下列其中一個IAM動作 (權限):iam:AttachUserPolicy
或iam:AttachRolePolicy
。aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy --role-name
myAmazonEKSClusterRole
-
-
創建一個 Amazon EKS 集群。
您可以使用
eksctl
AWS Management Console、或建立叢集 AWS CLI。 -
如果您使用
eksctl
建立叢集,則可以略過此步驟。這是因為eksctl
已為您完成此步驟。透過向kubectl
config
檔案新增內容,使kubectl
能夠與您的叢集通訊。如需建立和更新檔案的詳細資訊,請參閱 透過建立kubeconfig檔案 Connect 線kubectl到EKS叢集。aws eks update-kubeconfig --region
region-code
--namemy-cluster
範例輸出如下。
Added new context arn:aws:eks:
region-code
:111122223333
:cluster/my-cluster
to/home/username/
.kube/config -
透過執行以下命令確認與叢集的通訊。
kubectl get svc
範例輸出如下。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 28h
-
(建議) 若要使用某些 Amazon EKS 附加元件,或讓個別Kubernetes工作負載具有特定 AWS Identity and Access Management (IAM) 許可,請為叢集建立 IAM OpenID Connect (OIDC) 提供者。您只需要為叢集建立一個IAMOIDC提供者一次。若要進一步了解 Amazon EKS 附加元件,請參閱Amazon EKS 插件。若要進一步瞭解如何為工作負載指派特定IAM權限,請參閱服務帳戶的 IAM 角色。
-
(建議) 在將 Amazon EC2 節點部署到叢集之前,先為Amazon VPC CNI plugin for Kubernetes外掛程式設定叢集。預設情況下,外掛程式已隨叢集一起安裝。將 Amazon EC2 節點新增至叢集時,外掛程式會自動部署到您新增的每個 Amazon EC2 節點。此外掛程式要求您將下列其中一個IAM原則附加至IAM角色:
AmazonEKS_CNI_Policy
受管理IAM政策-
如果您的叢集使用
IPv4
系列 - 您建立的IAM策略
-
如果您的叢集使用
IPv6
系列
您附加原則的IAM角色可以是節點IAM角色,也可以是僅用於外掛程式的專用角色。我們建議將政策連接至此角色。如需建立角色的詳細資訊,請參閱 配置 Amazon VPC CNI 插件使用 IRSA 或 Amazon EKS 節點 IAM 角色。
-
如果您使用部署叢集 AWS Management Console,則可以略過此步驟。預設 AWS Management Console 情況下 Amazon VPC CNI plugin for Kubernetes,部署CoreDNS、和
kube-proxy
Amazon EKS 附加元件。如果您使用
eksctl
或 AWS CLI來部署叢集,則會部署 Amazon VPC CNI plugin for Kubernetes、CoreDNS 和kube-proxy
自我管理附加元件。您可以將隨叢集一起部署的Amazon VPC CNI plugin for KubernetesCoreDNS、kube-proxy
自我管理的附加元件遷移到 Amazon EKS 附加元件。如需詳細資訊,請參閱Amazon EKS 插件。 -
(選擇性) 如果您尚未這麼做,您可以啟用叢集的Prometheus指標。如需詳細資訊,請參閱《Amazon Managed Service for Prometheus 使用者指南》中的建立湊集器。
-
如果啟用了 Prometheus 指標,則必須設定
aws-auth
ConfigMap
來授予湊集器叢集內許可。如需詳細資訊,請參閱 Amazon Prometheus 受管服務使用者指南中的設定 Amazon EKS 叢集。 -
如果您計劃將工作負載部署到使用 Amazon EBS Volumes 的叢集,並建立了
1.23
或更新版本的叢集,則必須在部署工作負載之前將工作負載安裝使用 Amazon 存儲Kubernetes卷 EBS到叢集。
建議的後續步驟:
-
建立叢集的IAM主體是唯一具有叢集存取權的主體。將權限授與其他IAM主體,以便他們可以存取您的叢集。
-
如果建立叢集的IAM主體僅具有先決條件中參照的最低IAM許可,則您可能需要為該主體新增其他 Amazon EKS 許可。如需授與 Amazon EKS 許可給IAM主體的詳細資訊,請參閱Amazon 的身份和訪問管理 EKS。
-
如果您想要建立叢集的IAM主體或任何其他主體檢視 Amazon 主EKS控台中的Kubernetes資源,請所需的許可將該資源授與實體。
-
如果您希望節點和IAM主體從您的叢集中存取叢集VPC,請為叢集啟用私有端點。根據預設,公有端點為啟用狀態。如有需要,您可以在啟用私有端點後停用公有端點。如需詳細資訊,請參閱控制對叢集API伺服器端點的網路存取。