在 Amazon EKS 自動模式叢集中部署範例 inflate 工作負載 - Amazon EKS

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

在 Amazon EKS 自動模式叢集中部署範例 inflate 工作負載

在本教學中,您將學習如何將範例工作負載部署至 EKS 自動模式叢集,並觀察其如何自動佈建所需的運算資源。您將使用 kubectl 命令監看叢集行為,親身體驗 Auto Mode 如何簡化 AWS 上的 Kubernetes 操作。完成本教學後,您將了解 EKS 自動模式如何透過自動管理底層運算資源來回應工作負載部署,無需手動設定節點群組。

先決條件

  • 一個 Amazon EKS 自動模式叢集。記錄叢集名稱與 AWS 區域。

  • 具備足夠許可的 IAM 主體,如使用者或角色,需能管理聯網、運算與 EKS 資源。

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

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

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

第一,使用 kubectl 列出叢集上的節點集區。

kubectl get nodepools

輸出範例:

general-purpose

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

第二,使用 kubectl 列出連接到叢集的節點。

kubectl get nodes

若您剛建立 EKS 自動模式叢集,一開始不會有任何節點。

在本教學中,您將部署一個範例工作負載。若沒有節點,或現有節點無法容納工作負載,EKS 自動模式將會佈建新節點。

步驟 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 自動模式節點上。

將部署套用至叢集。

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 自動模式部署的 EC2 執行個體有存取限制。您將無法在 EKS 自動模式節點上執行任意命令。

步驟 5:刪除部署

使用 kubectl 刪除範例部署

kubectl delete -f inflate.yaml

若您沒有部署至叢集的其他工作負載,由 EKS 自動模式建立的節點將處於空閒狀態。

在預設組態中,EKS 自動模式會偵測到已空閒達 30 秒的節點,並終止這些節點。

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