Amazon EKS 入門eksctl - Amazon EKS

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

Amazon EKS 入門eksctl

這個指南可協助您使用建立 Amazon Elastic Kubernetes Service 門所有所需的資源。eksctl,這是簡單的命令列公用程式,可用於在 Amazon EKS 上建立和管理 KS KS 叢集。在本教學結尾,您將擁有一個執行中的 Amazon EKS 叢集,可將應用程式部署到其中。

本指南中的程序會為您自動建立數個資源,這些資源必須在您使用AWS Management Console。如果您想要手動建立大部分的資源,以進一步了解它們彼此互動的方式,請使用AWS Management Console來建立叢集和計算。如需更多詳細資訊,請參閱 Amazon EKS 入門AWS Management Console和AWS CLI

Prerequisites

開始此教學之前,您必須先安裝和設定下列在建立和管理 Amazon EKS 叢集所需的工具和資源。

  • kubectl— 命令列工具,適用於使用 Kubernetes 叢集。本指南要求您使用 1.20 版或更新版本。如需更多詳細資訊,請參閱 安裝 kubectl

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

建立叢集和節點。

重要

為了盡可能簡單快速地開始使用,本主題包含使用預設設定建立叢集和節點的步驟。建立叢集和節點供生產使用之前,建議您先熟悉所有設定,並使用符合您需求的設定來部署叢集和節點。如需詳細資訊,請參閱 建立 Amazon EKS 叢集Amazon EKS 節點

您可以使用下列其中一種節點類型建立叢集。若要進一步了解每種類型,請參閱Amazon EKS 節點。部署叢集後,您可以新增其他節點類型。

  • 受管理的節點 — Linux— 如果您想要在 Amazon EC2 執行個體上執行 Amazon Linux 應用程式,請選取此類型的節點。雖然未涵蓋在本指南中,但您也可以將Windows 自我管理瓶罐節點新增至叢集。即使您的所有工作負載都是 Windows,叢集仍必須至少包含一個 Linux 節點。

選取含有您要用來建立叢集節點類型名稱的標籤。

Managed nodes – Linux

運用 Amazon EC2 Linux 受管節點建立叢集

建立叢集和 Linux 受管理節點群組。Replacemy-cluster有您自己的價值。

Replace<your-key>(包括<>) 替換為現有 key pair 的名稱。若您沒有 key pair,您可以使用下列命令建立一個。如有必要請變更us-west-2更改為您在其中建立叢集的區域。請務必將傳回輸出儲存至本機電腦上的檔案。如需詳細資訊,請參閱「」建立或匯入金鑰對《適用於 Linux Amazon EC2 使用者指南》中的 Linux 執行個體。雖然本指南中不需要此金鑰,但您只能在建立節點群組時指定要使用的金鑰。指定密鑰允許您在創建節點後 SSH。若要執行命令,您需要安裝AWS CLI版本 2.2.5 或更新版本或 1.19.75 或更新版本。如需詳細資訊,請參閱「」安裝、更新和解除安裝AWS CLI中的AWS Command Line Interface使用者指南。

aws ec2 create-key-pair --region us-west-2 --key-name myKeyPair

執行下列命令,建立叢集和節點。取代範例值(包括<>) 與您自己的值。雖然您可以在任何Amazon EKS 支援的區域,在本教程中,它是在美國西部 (奧勒岡) us-west-2

eksctl create cluster \ --name my-cluster \ --region us-west-2 \ --with-oidc \ --ssh-access \ --ssh-public-key <your-key> \ --managed

上一個命令會使用主要預設的 Amazon EKS 設定來建立具有節點的叢集。若要查看所有建立的資源,請檢視名為eksctl-<my-cluster>-cluster中的AWS CloudFormation主控台位置https://console.aws.amazon.com/cloudformation。如需所有設定和選項的清單,請輸入eksctl create cluster -h。如需所有設定和選項的文件,請參閱建立和管理叢集中的eksctl文件中)。

輸出

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

... [✓] EKS cluster "my-cluster" in "us-west-2" region is ready

eksctl建立kubectl config檔案~/.kube或將新叢集的配置新增至現有config檔案~/.kube

步驟 2:檢視資源

  1. 檢視您的叢集節點。

    kubectl get nodes -o wide

    Amazon EC2 節點輸出

    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-12-49.us-west-2.compute.internal Ready <none> 6m7s v1.18.9-eks-d1db3c 192.168.12.49 52.35.116.65 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6 ip-192-168-72-129.us-west-2.compute.internal Ready <none> 6m4s v1.18.9-eks-d1db3c 192.168.72.129 44.242.140.21 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6

    Fargate 節點輸出

    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-168-141-147.us-west-2.compute.internal Ready <none> 8m3s v1.18.8-eks-7c9bda 192.168.141.147 <none> Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 containerd://1.3.2 fargate-ip-192-168-164-53.us-west-2.compute.internal Ready <none> 7m30s v1.18.8-eks-7c9bda 192.168.164.53 <none> Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 containerd://1.3.2

    如需您在此處看到的詳細資訊,請參閱View 節點

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

    kubectl get pods --all-namespaces -o wide

    Amazon EC2 輸出

    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system aws-node-6ctpm 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal <none> <none> kube-system aws-node-cbntg 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal <none> <none> kube-system coredns-559b5db75d-26t47 1/1 Running 0 14m 192.168.78.81 ip-192-168-72-129.us-west-2.compute.internal <none> <none> kube-system coredns-559b5db75d-9rvnk 1/1 Running 0 14m 192.168.29.248 ip-192-168-12-49.us-west-2.compute.internal <none> <none> kube-system kube-proxy-l8pbd 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal <none> <none> kube-system kube-proxy-zh85h 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal <none> <none>

    Fargate 輸出

    NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system coredns-69dfb8f894-9z95l 1/1 Running 0 18m 192.168.164.53 fargate-ip-192-168-164-53.us-west-2.compute.internal <none> <none> kube-system coredns-69dfb8f894-c8v66 1/1 Running 0 18m 192.168.141.147 fargate-ip-192-168-141-147.us-west-2.compute.internal <none> <none>

    如需您在此處看到的詳細資訊,請參閱檢視工作負載

步驟 3:刪除叢集和節點

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

刪除叢集和節點。

eksctl delete cluster --name my-cluster --region us-west-2

後續步驟

現在您已具備含節點的可正常運作的 Amazon EKS 叢集,您即可開始安裝 Kubernetes 外掛程式並將應用程式部署到叢集。以下文件主題可協助您擴展叢集的功能。