協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格的 GitHub 上的編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在本主題中,您將了解如何部署具有CriticalAddonsOnly
容錯能力的工作負載,因此 EKS Auto Mode 會將工作負載排程到system
節點集區。
EKS Auto Mode 的內建system
節點集區專為在專用執行個體上執行關鍵附加元件而設計。此隔離可確保基本元件具有專用資源,並與一般工作負載隔離,從而增強整體叢集穩定性和效能。
本指南示範如何使用CriticalAddonsOnly
容錯和適當的system
節點選取器,將附加元件部署至節點集區。透過遵循這些步驟,您可以確保將關鍵應用程式排程在專用system
節點上,利用 EKS Auto Mode 專用節點集區結構提供的隔離和資源配置優勢。
EKS Auto Mode 有兩個內建節點集區: general-purpose
和 system
。如需詳細資訊,請參閱啟用或停用內建 NodePools。
system
節點集區的目的是將關鍵附加元件隔離到不同的節點。節點集區佈建的system
節點具有 CriticalAddonsOnly
Kubernetes 污點。Kubernetes 只會在這些節點具有對應的容錯能力時,將 Pod 排程到這些節點上。如需詳細資訊,請參閱 Kubernetes 文件中的 標記和容錯
先決條件
-
已啟用內建
system
節點集區的 EKS 自動模式叢集。如需詳細資訊,請參閱 啟用或停用內建 NodePools -
kubectl
已安裝並設定。如需詳細資訊,請參閱設定 以使用 Amazon EKS。
程序
檢閱下方的 yaml 範例。請注意下列組態:
-
nodeSelector
— 這會將工作負載與內建system
節點集區建立關聯。此節點集區必須使用 AWS API 啟用。如需詳細資訊,請參閱啟用或停用內建 NodePools。 -
tolerations
— 此容錯能力可克服節點集區中system
節點上的CriticalAddonsOnly
污點。
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-app
spec:
replicas: 3
selector:
matchLabels:
app: sample-app
template:
metadata:
labels:
app: sample-app
spec:
nodeSelector:
karpenter.sh/nodepool: system
tolerations:
- key: "CriticalAddonsOnly"
operator: "Exists"
containers:
- name: app
image: nginx:latest
resources:
requests:
cpu: "500m"
memory: "512Mi"
若要更新要在system
節點集區上執行的工作負載,您需要:
-
更新現有的工作負載以新增上述組態:
-
nodeSelector
-
tolerations
-
-
使用 將更新的工作負載部署到您的叢集
kubectl apply
更新工作負載之後,它將在專用節點上執行。