開始使用 Amazon EKS – eksctl - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開始使用 Amazon EKS – eksctl

本指南可協助您使用 建立和管理的eksctl簡易命令列公用程式,建立開始使用 Amazon Elastic Kubernetes Service (Amazon EKS) 所需的所有必要資源 Kubernetes Amazon 上的叢集EKS。在本教學課程結束時,您將有一個執行中的 Amazon EKS叢集,您可以將應用程式部署到其中。

本指南中的程序會為您自動建立數個資源,而您必須在使用 AWS Management Console建立叢集時手動建立這些資源。如果您寧可手動建立大部分資源,以進一步了解它們如何彼此互動,則請使用 AWS Management Console 建立叢集和運算。如需詳細資訊,請參閱開始使用 Amazon EKS – AWS Management Console 和 AWS CLI

必要條件

開始本教學課程之前,您必須安裝和設定 AWS CLI、kubectl 和 eksctl 工具,如 中所述設置使用 Amazon EKS

步驟 1:建立您的 Amazon EKS叢集和節點

重要

為了盡可能簡單快速地開始使用,本主題包含使用預設設定建立叢集和節點的步驟。建立叢集和節點供生產使用之前,推薦您先熟悉所有設定,並使用符合您需求的設定來部署叢集和節點。如需詳細資訊,請參閱 建立 Amazon EKS叢集使用節點管理運算資源。只有在建立叢集和節點時,才能夠啟用某些設定。

您可以使用下列其中一種節點類型來建立叢集。若要進一步了解每種類型,請參閱 使用節點管理運算資源。叢集部署完成後,您可以新增其他節點類型。

  • Fargate – Linux – 如果您想要執行,請選擇此節點類型 Linux 上的應用程式AWS Fargate。Fargate 是一種無伺服器運算引擎,可讓您部署 Kubernetes Pods 而不管理 Amazon EC2執行個體。

  • 受管節點 – Linux – 如果您想要在 Amazon EC2執行個體上執行 Amazon Linux 應用程式,請選取此節點類型。雖然本指南未涵蓋,但您也可以新增 Windows 自我管理和 Bottlerocket 節點到叢集。

使用以下命令建立您的 Amazon EKS叢集。您可以使用自己的值取代 my-cluster。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以英數字元開頭,且不得超過 100 個字元。名稱在 中必須是唯一的 AWS 帳戶 , AWS 區域 且您要在其中建立叢集。region-code 將 取代 AWS 區域 為 Amazon 支援的任何 EKS。如需 的清單 AWS 區域,請參閱 AWS 一般參考指南中的 Amazon EKS端點和配額

Fargate – Linux
eksctl create cluster --name my-cluster --region region-code --fargate
Managed nodes – Linux
eksctl create cluster --name my-cluster --region region-code

叢集建立需要幾分鐘的時間。在建立期間,您會看到數行輸出。輸出的最後一行類似於下面的範例行。

[...] [✓] EKS cluster "my-cluster" in "region-code" region is ready

eksctl 已在 ~/.kube 建立了 kubectl config 檔案,或將新叢集的組態新增至電腦上 ~/.kube 中的現有 config 檔案。

叢集建立完成後,請在 https://console.aws.amazon.com/cloudformation 檢視 AWS CloudFormation 主控台eksctl-my-cluster-cluster中名為 的 AWS CloudFormation 堆疊,以查看建立的所有資源。

步驟 2:檢視 Kubernetes resources

  1. 檢視叢集節點。

    kubectl get nodes -o wide

    範例輸出如下。

    Fargate – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-0-2-0.region-code.compute.internal Ready <none> 8m3s v1.2.3-eks-1234567 192.0.2.0 <none> Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3 fargate-ip-192-0-2-1.region-code.compute.internal Ready <none> 7m30s v1.2.3-eks-1234567 192-0-2-1 <none> Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3
    Managed nodes – Linux
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-0-2-0.region-code.compute.internal Ready <none> 6m7s v1.2.3-eks-1234567 192.0.2.0 192.0.2.2 Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3 ip-192-0-2-1.region-code.compute.internal Ready <none> 6m4s v1.2.3-eks-1234567 192.0.2.1 192.0.2.3 Amazon Linux 2 1.23.456-789.012.amzn2.x86_64 containerd://1.2.3

    如需您在輸出中看到之內容的詳細資訊,請參閱 檢視 Kubernetes 資源 AWS Management Console

  2. 檢視叢集上執行的工作負載。

    kubectl get pods -A -o wide

    範例輸出如下。

    Fargate – Linux
    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system coredns-1234567890-abcde 1/1 Running 0 18m 192.0.2.0 fargate-ip-192-0-2-0.region-code.compute.internal <none> <none> kube-system coredns-1234567890-12345 1/1 Running 0 18m 192.0.2.1 fargate-ip-192-0-2-1.region-code.compute.internal <none> <none>
    Managed nodes – Linux
    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system aws-node-12345 1/1 Running 0 7m43s 192.0.2.1 ip-192-0-2-1.region-code.compute.internal <none> <none> kube-system aws-node-67890 1/1 Running 0 7m46s 192.0.2.0 ip-192-0-2-0.region-code.compute.internal <none> <none> kube-system coredns-1234567890-abcde 1/1 Running 0 14m 192.0.2.3 ip-192-0-2-3.region-code.compute.internal <none> <none> kube-system coredns-1234567890-12345 1/1 Running 0 14m 192.0.2.4 ip-192-0-2-4.region-code.compute.internal <none> <none> kube-system kube-proxy-12345 1/1 Running 0 7m46s 192.0.2.0 ip-192-0-2-0.region-code.compute.internal <none> <none> kube-system kube-proxy-67890 1/1 Running 0 7m43s 192.0.2.1 ip-192-0-2-1.region-code.compute.internal <none> <none>

    如需您在輸出中看到之內容的詳細資訊,請參閱 檢視 Kubernetes 資源 AWS Management Console

步驟 3:刪除您的叢集和節點

在完成為本教學建立的叢集和節點後,您應該使用以下命令刪除叢集和節點來完成清理。如果想在清理前使用此叢集執行更多作業,請參閱 後續步驟

eksctl delete cluster --name my-cluster --region region-code

後續步驟

以下文件主題可協助您擴展叢集的功能。