根據不斷變化的容器工作負載需求,調整無狀態工作負載的規模。
事前準備
如要完成本文中的工作,您必須要求必要的權限並準備環境。
要求 IAM 角色
如要在 Kubernetes 叢集中建立、刪除、編輯或查看無狀態工作負載,請要求機構 IAM 管理員授予您命名空間管理員 (namespace-admin) 角色。這個角色會繫結至專案命名空間。
準備環境
如要針對預先設定的 Bare Metal Kubernetes 叢集執行指令,請確認您擁有下列資源:
找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。
如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。
請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的
CLUSTER_KUBECONFIG。
調度 Deployment 資源
運用 Kubernetes 的資源調度功能,適當調整部署作業中執行的 Pod 數量。
自動調度部署的 Pod 資源
Kubernetes 提供自動調度資源功能,因此需求變化時,您不必手動更新部署作業。在 Deployment 中設定水平 Pod 自動調度器,即可啟用這項功能:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
autoscale deployment DEPLOYMENT_NAME \
--cpu-percent=CPU_PERCENT \
--min=MIN_NUMBER_REPLICAS \
--max=MAX_NUMBER_REPLICAS
更改下列內容:
CLUSTER_KUBECONFIG:Kubernetes 叢集的 kubeconfig 檔案。NAMESPACE:專案命名空間。DEPLOYMENT_NAME:要自動調整規模的部署作業名稱。CPU_PERCENT:所有 Pod 的目標平均 CPU 使用率 (以百分比表示)。MIN_NUMBER_REPLICAS:自動配置器可佈建的 Pod 數量下限。MAX_NUMBER_REPLICAS:自動配置器可佈建的 Pod 數量上限。
如要檢查新建立的水平 Pod 自動調度器目前狀態,請執行:
kubectl get hpa
輸出結果會與下列內容相似:
NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE
DEPLOYMENT_NAME Deployment/DEPLOYMENT_NAME/scale 0% / 50% 1 10 1 18s
手動調度 Deployment 的 Pod
如要手動調度 Deployment 的資源,請執行:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
scale deployment DEPLOYMENT_NAME \
--replicas NUMBER_OF_REPLICAS
更改下列內容:
CLUSTER_KUBECONFIG:Kubernetes 叢集的 kubeconfig 檔案。NAMESPACE:專案命名空間。DEPLOYMENT_NAME:要自動調整規模的部署作業名稱。DEPLOYMENT_NAME:部署中選擇的複製物件數量。Pod