將範例初始化工作負載部署到 Amazon EKS Auto Mode 叢集 - Amazon EKS

協助改善此頁面

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

想要為此使用者指南做出貢獻? 選擇 GitHub 上的編輯此頁面連結,該連結位於每個頁面的右窗格中。您的貢獻將幫助我們的使用者指南更適合每個人。

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

將範例初始化工作負載部署到 Amazon EKS Auto Mode 叢集

在本教學課程中,您將了解如何將範例工作負載部署至 EKS Auto Mode 叢集,並觀察其如何自動佈建所需的運算資源。您將使用 kubectl 命令來監看叢集的行為,並親自了解自動模式如何簡化 Kubernetes 操作 AWS。在本教學課程結束時,您將了解 EKS Auto Mode 如何透過自動管理基礎運算資源來回應工作負載部署,而不需要手動節點群組組態。

必要條件

  • 已啟用運算功能的 Amazon EKS Auto Mode 叢集。請注意叢集的名稱和 AWS 區域。

  • IAM 主體,例如使用者或角色,具有足夠的許可來管理聯網、運算和 EKS 資源。

  • aws CLI 已安裝並設定 IAM 身分。

  • kubectl CLI 已安裝並連接到叢集。

步驟 1:檢閱現有的運算資源 (選用)

首先,使用 kubectl列出叢集上的節點集區。

kubectl get nodepools

範例輸出:

general-purpose

在本教學課程中,我們將部署設定為使用general-purpose節點集區的工作負載。此節點集區內建於 EKS Auto 模式,並包含一般工作負載的合理預設值,例如微服務和 Web 應用程式。您可以建立自己的節點集區。如需詳細資訊,請參閱為 EKS Auto 模式建立節點集區

其次,使用 kubectl 列出連接到叢集的節點。

kubectl get nodes

如果您剛建立 EKS Auto Mode 叢集,您將沒有節點。

在本教學課程中,您將部署範例工作負載。如果您沒有節點,或工作負載無法容納現有節點,EKS Auto Mode 會佈建新的節點。

步驟 2:將範例應用程式部署至叢集

檢閱下列 Kubernetes 部署並將其儲存為 inflate.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: inflate spec: replicas: 1 selector: matchLabels: app: inflate template: metadata: labels: app: inflate spec: terminationGracePeriodSeconds: 0 nodeSelector: eks.amazonaws.com/compute-type: auto securityContext: runAsUser: 1000 runAsGroup: 3000 fsGroup: 2000 containers: - name: inflate image: public.ecr.aws/eks-distro/kubernetes/pause:3.7 resources: requests: cpu: 1 securityContext: allowPrivilegeEscalation: false

請注意,eks.amazonaws.com/compute-type: auto選擇器需要將工作負載部署在 Amazon EKS Auto Mode 節點上。

將部署套用至您的叢集。

kubectl apply -f inflate.yaml

步驟 3:觀看 Kubernetes 事件

使用以下命令來監看 Kubernetes 事件,包括建立新的節點。使用 ctrl+c 停止觀看事件。

kubectl get events -w --sort-by '.lastTimestamp'

使用 kubectl 再次列出連接到叢集的節點。請注意新建立的節點。

kubectl get nodes

步驟 4:在 AWS 主控台中檢視節點和執行個體

您可以在 EKS 主控台中檢視 EKS 自動模式節點,並在 EC2 主控台中檢視相關聯的 EC2 執行個體。

EKS Auto Mode 部署的 EC2 執行個體受到限制。您無法在 EKS Auto Mode 節點上執行任意命令。

步驟 5:刪除部署

使用 kubectl 刪除範例部署

kubectl delete -f inflate.yaml

如果您沒有部署到叢集的其他工作負載,EKS Auto Mode 建立的節點將會是空的。

在預設組態中,EKS Auto Mode 會偵測已空三十秒的節點,並終止它們。

使用 kubectl或 EC2 主控台確認已刪除相關聯的執行個體。