協助改善此頁面
想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開始使用 Amazon EKS — AWS Management Console 和 AWS CLI
本指南可協助您建立所有必要的資源,以開始使用 Amazon Elastic Kubernetes Service (Amazon EKS) 使用和. AWS Management Console AWS CLI在本指南中,您可以手動建立每個資源。此教學結束時,您將擁有一個執行中的 Amazon EKS 叢集,而您可以在其中部署應用程式。
本指南中的程序可讓您完全瞭解每個資源的建立方式,以及資源彼此之間的互動方式。如果您希望自動為您建立大部分資源,請使用 eksctl
CLI 建立叢集和節點。如需詳細資訊,請參閱 Amazon EKS 入門:eksctl。
必要條件
開始此教學之前,您必須先安裝和設定下列在建立和管理 Amazon EKS 叢集所需的工具和資源。
-
AWS CLI— 用於處理包括 Amazon EKS 在內的 AWS 服務的命令行工具。如需詳細資訊,請參閱《 AWS Command Line Interface 使用者指南》中的安裝、更新和解除安裝 AWS CLI。安裝之後 AWS CLI,我們建議您也對其進行配置。如需詳細資訊,請參閱《 AWS Command Line Interface 使用者指南》中的使用
aws configure
進行快速組態設定。 -
kubectl
:命令列工具,適用於使用 Kubernetes 叢集。如需詳細資訊,請參閱 安裝或更新 kubectl。 -
必要的 IAM 許可 — 您使用的 IAM 安全主體必須具有使用 Amazon EKS IAM 角色、服務連結角色 AWS CloudFormation、VPC 和相關資源的許可。如需詳細資訊,請參閱《IAM 使用者指南》中的 Amazon Elastic Kubernetes Service 的動作、資源和條件索引鍵以及使用服務連結角色。您必須以同一位使用者的身分完成本指南中的所有步驟。若要檢查目前使用者,請執行以下命令:
aws sts get-caller-identity
-
建議您在 Bash shell 中完成本主題中的步驟。如果您不使用 Bash shell,則某些指令碼命令 (如行接續字元以及設定和使用變數的方式) 需要針對 shell 進行調整。此外,您的 Shell 的引用及轉義規則可能會有所不同。若要取得更多資訊,請參閱《使用指南》中的〈〉 AWS CLI中的〈使用引號搭配字串〉。 AWS Command Line Interface
步驟 1:建立您的 Amazon EKS 叢集
重要
為了盡可能簡單快速地開始使用,本主題包含使用預設設定建立叢集的步驟。建立叢集供生產使用之前,建議您先熟悉所有設定,再使用符合需求的設定來部署叢集。如需詳細資訊,請參閱 建立 Amazon EKS 叢集。只有在建立叢集時,才能夠啟用某些設定。
若要建立叢集
-
使用符合 Amazon EKS 要求的公有和私有子網路建立 Amazon VPC。使用 Amazon EKS 支援的任何 AWS 區域 取代
。如需清單 AWS 區域,請參閱 AWS 一般參考指南中的 Amazon EKS 端點和配額。您可以使用您選擇的任何名稱取代region-code
。my-eks-vpc-stack
aws cloudformation create-stack \ --region
region-code
\ --stack-namemy-eks-vpc-stack
\ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml提示
如需上一個命令建立的所有資源清單,請開啟位於 https://console.aws.amazon.com/cloudformation
的 AWS CloudFormation 主控台。選擇
堆疊,然後選擇 Resources (資源) 索引標籤。my-eks-vpc-stack
-
建立叢集 IAM 角色,並將必要的 Amazon EKS IAM 受管政策附加到該角色。 KubernetesAmazon EKS 管理的叢集代表您呼叫其他 AWS 服務,以管理您搭配服務使用的資源。
-
將下列內容複製到名為
的檔案。eks-cluster-role-trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
建立角色。
aws iam create-role \ --role-name
myAmazonEKSClusterRole
\ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json
" -
將必要的 Amazon EKS 受管 IAM 政策連接到角色。
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name
myAmazonEKSClusterRole
-
在以下網址開啟 Amazon EKS 主控台:https://console.aws.amazon.com/eks/home#/clusters
。 請確定主控台右上角 AWS 區域 顯示的是您 AWS 區域 要在其中建立叢集的。如果不是,請選擇 AWS 區域 名稱旁邊的下拉菜單,然後選擇 AWS 區域 要使用的名稱。
-
選擇 Add cluster (新增叢集),然後選擇 Create (建立)。如果沒有看到這個選項,請先在左側導覽窗格中選擇 Clusters (叢集)。
-
在 Configure cluster (設定叢集) 頁面上,執行下列操作:
-
輸入叢集的 Name (名稱),例如
my-cluster
。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母數字字元開頭,且長度不得超過 100 個字元。名稱在中必須是唯一的,而 AWS 區域 AWS 帳戶 且您要在中建立叢集。 -
對於叢集服務角色,請選擇
我的 Amazoneks ClusterRole
。 -
將其餘設定維持在其預設值,然後選取 Next (下一步)。
-
-
在 Specify networking (指定聯網) 頁面中,執行下列操作:
-
從 VPC 下拉式清單中選擇在先前步驟中建立的 VPC ID。這是類似
vpc-00x0000x000x0x000
|my-eks-vpc-stack-VPC
的文字。 -
將其餘設定維持在其預設值,然後選取 Next (下一步)。
-
-
在設定可觀測性頁面上,選擇下一步。
-
在選取附加元件頁面上,選擇下一步。
如需附加元件的詳細資訊,請參閱 Amazon EKS 附加元件。
-
在設定選取的附加元件設定頁面中,選取下一步:
-
在 Review and create (檢閱和建立) 頁面上,選取 Create (建立)。
叢集名稱右側的叢集狀態會顯示 Creating (建立中) 幾分鐘,直到叢集佈建程序完成為止。在狀態為 Active (作用中) 之前不要進行下一個步驟。
注意
您可能會收到錯誤,表示在請求中的其中一個可用區域沒有足夠的容量可建立 Amazon EKS 叢集。如果發生這種情況,錯誤輸出包含的可用區域可支援新的叢集。使用至少兩個位於帳戶的支援可用區域子網路來建立您的叢集。如需詳細資訊,請參閱 容量不足。
步驟 2:將您的電腦設為與叢集進行通訊
在此區段中,您會為叢集建立 kubeconfig
檔案。此檔案中的設定會啟用 kubectl
CLI 與您的叢集進行通訊。
若要設定您的電腦與叢集通訊
-
為您的叢集建立或更新
kubeconfig
檔案。請使用您在其中建立叢集的 AWS 區域 取代
。使用您叢集的名稱取代region-code
。my-cluster
aws eks update-kubeconfig --region
region-code
--namemy-cluster
根據預設,已在
~/.kube
建立了config
檔案,或者已將新叢集的組態新增至現有~/.kube
中的config
檔案。 -
測試組態。
kubectl get svc
注意
如果您收到任何授權或資源類型錯誤,請參閱故障診斷主題中的未經授權或存取遭拒 (kubectl)。
範例輸出如下。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP
1m
步驟 3:建立節點
重要
為了盡可能簡單快速地開始使用,本主題包含使用預設設定建立節點的步驟。建立節點供生產使用之前,建議您先熟悉所有設定,再使用符合需求的設定來部署節點。如需詳細資訊,請參閱 Amazon EKS 節點。只有在建立節點時,才能夠啟用某些設定。
您可以使用下列其中一種節點類型來建立叢集。若要進一步了解每種類型,請參閱 Amazon EKS 節點。叢集部署完成後,您可以新增其他節點類型。
-
Fargate – Linux:如果您想要在 AWS Fargate 上執行 Linux 應用程式,請選取此節點類型。Fargate 是無伺服器運算引擎,可讓您部署 Kubernetes Pods 而無須管理 Amazon EC2 執行個體。
-
受管節點 – Linux:如果您想要執行,請選擇此節點類型 Amazon Linux 應用程式。雖然未涵蓋在本指南中,但您也可以將 Windows 自我管理節點和 Bottlerocket 節點新增至您的叢集。
步驟 4:檢視資源
您可以檢視節點和 Kubernetes 工作負載。
檢視節點和工作負載
-
在左側導覽窗格中選擇 Clusters (叢集)。在 Clusters (叢集) 清單中,選擇您建立之叢集的名稱,例如
my-cluster
。 -
在
my-cluster
頁面上,選擇以下事項:-
Compute (運算) 標籤 – 您可以看到為叢集部署的 Nodes (節點) 清單。您可以選取節點的名稱,以查看有關節點的詳細資訊。
-
Resources (資源) 標籤:您會看到預設部署至 Amazon EKS 叢集的所有 Kubernetes 資源。在主控台中選取任何資源類型,以進一步了解其詳細資訊。
-
步驟 5:刪除資源
在完成為本教學建立的叢集和節點後,您應該刪除所建立的資源。如果想在刪除資源前使用此叢集執行更多作業,請參閱 後續步驟。
刪除在本指南中建立的資源
-
刪除您建立的任何節點群組或 Fargate 設定檔。
-
在 https://console.aws.amazon.com/eks/home#/clusters
開啟 Amazon EKS 主控台。 -
在左側導覽窗格中選擇 Clusters (叢集)。在叢集清單中,選取
my-cluster
。 -
選擇 Compute (運算) 索引標籤。
-
如果建立了節點群組,請選擇
節點群組,然後選擇 Delete (刪除)。輸入my-nodegroup
,然後選擇 Delete (刪除)。my-nodegroup
-
對於您建立的每個 Fargate 設定檔,選擇此設定檔,然後選擇 Delete (刪除)。輸入設定檔的名稱,然後選取 Delete (刪除)。
注意
刪除第二個 Fargate 設定檔時,您可能需要等待第一個設定檔完成刪除。
-
請刪除節點群組或 Fargate 設定檔後再繼續。
-
-
刪除叢集。
-
在左側導覽窗格中選擇 Clusters (叢集)。在叢集清單中,選取
my-cluster
。 -
選擇 Delete cluster (刪除叢集)。
-
輸入
,然後選擇 Delete (刪除)。刪除叢集後再繼續。my-cluster
-
-
刪除您建立的 VPC AWS CloudFormation 堆疊。
-
請在以下位置開啟 AWS CloudFormation 主控台。
https://console.aws.amazon.com/cloudformation -
選擇
堆疊,然後選擇 Delete (刪除)。my-eks-vpc-stack
-
在 Delete
my-eks-vpc-stack
(刪除 my-eks-vpc-stack) 確認對話方塊中,選擇 Delete stack (刪除堆疊)。
-
-
刪除您建立的 IAM 角色。
-
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
從列表中選擇您創建的每個角色(
選擇 Delete (刪除),輸入請求的確認文字,然後選擇 Delete (刪除)。我的 AmazonEKS ClusterRole
,以及亞馬遜人或我的亞馬遜人 FargatePod ExecutionRole)。NodeRole
-
後續步驟
以下文件主題可協助您擴展叢集的功能。
建立叢集的 IAM 主體是唯一可以使用
kubectl
或 AWS Management Console對 Kubernetes API 伺服器進行呼叫的主體。如果要其他 IAM 主體能夠存取叢集,則需新增這些主體。如需更多詳細資訊,請參閱 授予 Kubernetes API 的存取權 及 所需的許可。將範例應用程式部署至叢集。
部署叢集以供生產使用之前,建議您先熟悉叢集和節點的所有設定。建立叢集時,必須進行某些設定 (例如啟用對 Amazon EC2 節點的 SSH 存取)。
若要提高叢集的安全性,可將 Amazon VPC 容器聯網介面外掛程式設定為使用服務帳戶的 IAM 角色。