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