協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
想要為此使用者指南做出貢獻? 選擇 GitHub 上的編輯此頁面連結,該連結位於每個頁面的右窗格中。您的貢獻將幫助我們的使用者指南更適合每個人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將範例初始化工作負載部署到 Amazon EKS Auto Mode 叢集
在本教學課程中,您將了解如何將範例工作負載部署至 EKS Auto Mode 叢集,並觀察其如何自動佈建所需的運算資源。您將使用 kubectl
命令來監看叢集的行為,並親自了解自動模式如何簡化 Kubernetes 操作 AWS。在本教學課程結束時,您將了解 EKS Auto Mode 如何透過自動管理基礎運算資源來回應工作負載部署,而不需要手動節點群組組態。
必要條件
-
已啟用運算功能的 Amazon EKS Auto Mode 叢集。請注意叢集的名稱和 AWS 區域。
-
IAM 主體,例如使用者或角色,具有足夠的許可來管理聯網、運算和 EKS 資源。
-
如需詳細資訊,請參閱《IAM 使用者指南》中的建立角色和連接政策。
-
-
aws
CLI 已安裝並設定 IAM 身分。 -
kubectl
CLI 已安裝並連接到叢集。-
如需詳細資訊,請參閱設定 以使用 Amazon EKS。
-
步驟 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 主控台確認已刪除相關聯的執行個體。