協助改善此頁面
想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 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.30
,則可以搭配使用kubectl
1.29
、1.30
或1.31
版。若要安裝或升級kubectl
,請參閱 設定 kubectl 和 eksctl。 -
在您的裝置或 上安裝和設定的
1.27.160
AWS Command Line Interface (AWS CLI) 版本2.12.3
或更新版本 AWS CloudShell。若要檢查您目前的版本,請使用
。套件管理員aws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,例如apt-get
、 或 Homebrew for macOS 通常是最新版本 後面的幾個版本 AWS CLI。若要安裝最新版本,請參閱使用 安裝、更新和解除安裝 AWS CLI和 快速組態 aws configure (在 AWS Command Line Interface 使用者指南中) 安裝在 中的 AWS CLI 版本 AWS CloudShell 也可能是最新版本後面的幾個版本。若要更新它,請參閱 AWS CloudShell 使用者指南 中的安裝 AWS CLI 到您的主目錄。 -
具有
create
和 Amazon EKS叢集許可describe
的IAM主體。如需詳細資訊,請參閱 在 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
能夠與您的叢集通訊。如需建立和更新檔案的詳細資訊,請參閱 連接 kubectl EKS 透過建立 kubeconfig file。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) 叢集的供應商。您只需建立 IAM OIDC 叢集的提供者一次。若要進一步了解 Amazon EKS 附加元件,請參閱 Amazon EKS 插件。若要進一步了解如何將特定IAM許可指派給工作負載,請參閱 服務帳戶的 IAM 角色。
-
(建議) 為 設定叢集 Amazon VPC CNI plugin for Kubernetes 外掛程式,然後再將 Amazon EC2節點部署到您的叢集。預設情況下,外掛程式已隨叢集一起安裝。當您將 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 Kubernetes, CoreDNS,以及隨叢集部署至 Amazon 附加元件的kube-proxy
自我管理EKS附加元件。如需詳細資訊,請參閱Amazon EKS 插件。 -
(選用) 如果您尚未這麼做,您可以啟用 Prometheus 叢集的指標。如需詳細資訊,請參閱《Amazon Managed Service for Prometheus 使用者指南》中的建立湊集器。
-
如果您啟用 Prometheus 指標,您必須設定您的
aws-auth
ConfigMap
,才能授予叢集內抓取器許可。如需詳細資訊,請參閱Amazon Managed Service for Prometheus 使用者指南中的設定 Amazon EKS叢集。 -
如果您打算將工作負載部署至使用 Amazon EBS磁碟區 的叢集,且您建立了
1.23
或更新版本的叢集,則必須在部署工作負載之前將 安裝存放 Kubernetes 使用 Amazon 的磁碟區 EBS至叢集。
建議的後續步驟:
-
建立叢集的IAM主體是唯一有權存取叢集的主體。將許可授予其他IAM主體,讓他們可以存取您的叢集。
-
如果建立叢集的IAM主體只有先決條件中參考的最低IAM許可,則您可能想要為該主體新增額外的 Amazon EKS許可。如需將 Amazon EKS許可授予IAM委託人的詳細資訊,請參閱 Amazon 的身分和存取管理 EKS。
-
如果您想要建立叢集的IAM主體,或任何其他主體檢視 Kubernetes Amazon EKS主控台中的 資源,將 所需的許可 授予實體。
-
如果您想要節點和IAM主體從 內存取叢集VPC,請啟用叢集的私有端點。根據預設,公有端點為啟用狀態。如有需要,您可以在啟用私有端點後停用公有端點。如需詳細資訊,請參閱控制對叢集API伺服器端點的網路存取。