協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
在 Amazon EKS 自動模式叢集中部署範例 inflate 工作負載
在本教學中,您將學習如何將範例工作負載部署至 EKS 自動模式叢集,並觀察其如何自動佈建所需的運算資源。您將使用 kubectl 命令監看叢集行為,親身體驗 Auto Mode 如何簡化 AWS 上的 Kubernetes 操作。完成本教學後,您將了解 EKS 自動模式如何透過自動管理底層運算資源來回應工作負載部署,無需手動設定節點群組。
先決條件
-
一個 Amazon EKS 自動模式叢集。記錄叢集名稱與 AWS 區域。
-
具備足夠許可的 IAM 主體,如使用者或角色,需能管理聯網、運算與 EKS 資源。
-
若需詳細資訊,請參閱《IAM 使用者指南》中的建立角色和附加政策。
-
-
已安裝
awsCLI 並以 IAM 身分進行設定。 -
已安裝
kubectlCLI 並連接至叢集。-
如需詳細資訊,請參閱 設定以使用 Amazon EKS。
-
步驟 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 主控台確認相關聯的執行個體已被刪除。