協助改善此頁面
想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開始使用 Amazon EKS — AWS Management Console 和 AWS CLI
本指南可協助您建立所有必要的資源,以開始使用 Amazon Elastic Kubernetes Service (AmazonEKS) 使用 AWS Management Console 和. AWS CLI在本指南中,您可以手動建立每個資源。在本教學結束時,您將擁有一個可以部署應用程式的執行中 Amazon EKS 叢集。
本指南中的程序可讓您完全瞭解每個資源的建立方式,以及資源彼此之間的互動方式。如果您希望自動為您建立大部分資源,請使eksctl
CLI用建立叢集和節點。如需詳細資訊,請參閱開始使用 Amazon EKS — eksctl。
必要條件
在開始本教學課程之前,您必須安裝並設定下列建立和管理 Amazon EKS 叢集所需的工具和資源。
-
AWS CLI— 用於處理包括 Amazon 在內的 AWS 服務的命令行工具EKS。如需詳細資訊,請參閱《 AWS Command Line Interface 使用者指南》中的安裝、更新和解除安裝 AWS CLI。安裝之後 AWS CLI,我們建議您也對其進行配置。如需詳細資訊,請參閱《 AWS Command Line Interface 使用者指南》中的使用
aws configure
進行快速組態設定。請注意,需要 AWS CLI v2 才能使用此頁面中顯示的更新 kubeconfig 選項。 -
kubectl
:命令列工具,適用於使用 Kubernetes 叢集。如需詳細資訊,請參閱設定kubectl和 eksctl。 -
必要IAM許可 — 您使用的IAM安全主體必須具有使用 Amazon EKS IAM 角色、服務連結角色 AWS CloudFormation VPC、和相關資源的許可。如需詳細資訊,請參閱使用IAM者指南中的 Amazon 彈性Kubernetes服務的動作、資源和條件金鑰和使用服務連結角色。您必須以同一位使用者的身分完成本指南中的所有步驟。若要檢查目前使用者,請執行以下命令:
aws sts get-caller-identity
-
建議您在 Bash shell 中完成本主題中的步驟。如果您不使用 Bash shell,則某些指令碼命令 (如行接續字元以及設定和使用變數的方式) 需要針對 shell 進行調整。此外,您的 Shell 的引用及轉義規則可能會有所不同。若要取得更多資訊,請參閱《使用指南》中的〈〉 AWS CLI中的〈使用引號搭配字串〉。 AWS Command Line Interface
步驟 1:建立您的 Amazon EKS 叢集
重要
為了盡可能簡單快速地開始使用,本主題包含使用預設設定建立叢集的步驟。建立叢集供生產使用之前,建議您先熟悉所有設定,再使用符合需求的設定來部署叢集。如需詳細資訊,請參閱 創建一個 Amazon EKS 群集。只有在建立叢集時,才能夠啟用某些設定。
若要建立叢集
-
使用符合 Amazon EKS 要求VPC的公共和私有子網創建一個 Amazon。替換為 Amazon 支持
AWS 區域 的任何產品EKS。如需清單 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/cloud
formation 開啟 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
-
在https://console.aws.amazon.com/eks/家裡 #
/集群打開 Amazon EKS 控制台。 請確定主控台右上角 AWS 區域 顯示的是您 AWS 區域 要在其中建立叢集的。如果不是,請選擇 AWS 區域 名稱旁邊的下拉式選單,然後選擇您 AWS 區域 要使用的名稱。
-
選擇 Add cluster (新增叢集),然後選擇 Create (建立)。如果沒有看到這個選項,請先在左側導覽窗格中選擇 Clusters (叢集)。
-
在 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 (建立)。
叢集名稱右側的叢集狀態會顯示 Creating (建立中) 幾分鐘,直到叢集佈建程序完成為止。在狀態為 Active (作用中) 之前不要進行下一個步驟。
注意
您可能會收到請求中的其中一個可用區域沒有足夠的容量來建立 Amazon EKS 叢集的錯誤訊息。如果發生這種情況,錯誤輸出包含的可用區域可支援新的叢集。使用至少兩個位於帳戶的支援可用區域子網路來建立您的叢集。如需詳細資訊,請參閱容量不足。
步驟 2:將您的電腦設為與叢集進行通訊
在此區段中,您會為叢集建立 kubeconfig
檔案。此檔案中的設定可讓您kubectl
CLI與叢集進行通訊。
在繼續之前,請確定您已在步驟 1 中順利完成叢集建立。
若要設定您的電腦與叢集通訊
-
為您的叢集建立或更新
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:建立節點
重要
為了盡可能簡單快速地開始使用,本主題包含使用預設設定建立節點的步驟。建立節點供生產使用之前,建議您先熟悉所有設定,再使用符合需求的設定來部署節點。如需詳細資訊,請參閱 使用節點管理運算資源。只有在建立節點時,才能夠啟用某些設定。
您可以使用下列其中一種節點類型來建立叢集。若要進一步了解每種類型,請參閱 使用節點管理運算資源。叢集部署完成後,您可以新增其他節點類型。
-
Fargate – Linux:如果您想要在 AWS Fargate 上執行 Linux 應用程式,請選取此節點類型。Fargate 是無伺服器運算引擎,可讓您部署KubernetesPods而無需管理 Amazon EC2 執行個體。
-
受管節點 — Linux — 如果要執行,請選擇此類型的節點。個體上EC2執行 Amazon Linux 應用程式。雖然未涵蓋在本指南中,但您也可以將 Windows 自我管理節點和 Bottlerocket 節點新增至您的叢集。
步驟 4:檢視資源
您可以檢視節點和 Kubernetes 工作負載。
檢視節點和工作負載
-
在左側導覽窗格中選擇 Clusters (叢集)。在 [叢集] 清單中,選擇您建立的叢集名稱,例如
my-cluster
. -
在「」
my-cluster
頁面上,選擇下列項目:-
Compute (運算) 標籤 – 您可以看到為叢集部署的 Nodes (節點) 清單。您可以選取節點的名稱,以查看有關節點的詳細資訊。
-
資源索引標籤 — 您會看到預設部署到 Amazon EKS 叢集的所有Kubernetes資源。在主控台中選取任何資源類型,以進一步了解其詳細資訊。
-
步驟 5:刪除資源
在完成為本教學建立的叢集和節點後,您應該刪除所建立的資源。如果想在刪除資源前使用此叢集執行更多作業,請參閱 後續步驟。
刪除在本指南中建立的資源
-
刪除您建立的任何節點群組或 Fargate 設定檔。
-
在https://console.aws.amazon.com/eks/家裡 #
/集群打開 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 堆疊。
-
在 https://console.aws.amazon.com/雲
形成開啟 AWS CloudFormation 主控台。 -
選擇
堆疊,然後選擇 Delete (刪除)。my-eks-vpc-stack
-
在刪除
my-eks-vpc-stack
確認對話方塊中,選擇刪除堆疊。
-
-
刪除您建立的IAM角色。
-
在開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在左側導覽窗格中,選擇 Roles (角色)。
-
從清單中選取您建立的每個角色 (
myAmazonEKSClusterRole
,以及 A mazonEKSFargate PodExecutionRole 或myAmazonEKSNodeRole
). 選擇「刪除」,輸入要求的確認文字,然後選擇「刪除」。
-
後續步驟
以下文件主題可協助您擴展叢集的功能。
建立叢集的IAM主體是唯一可以使用
kubectl
或呼叫KubernetesAPI伺服器的主體 AWS Management Console。如果您希望其他IAM主體能夠存取您的叢集,則需要新增它們。如需詳細資訊,請參閱 授與IAM使用者和角色對 Kubernetes 的存取權 APIs 和 所需的許可。將範例應用程式部署至叢集。
部署叢集以供生產使用之前,建議您先熟悉叢集和節點的所有設定。建立叢集時,必須進行某些設定 (例如啟用 Amazon EC2 節點的SSH存取權)。
若要提高叢集的安全性,請設定 Amazon VPC 容器網路介面外掛程式以使用服務帳戶的IAM角色。