調度無狀態工作負載資源

根據不斷變化的容器工作負載需求,調整無狀態工作負載的規模。

事前準備

如要完成本文中的工作,您必須要求必要的權限並準備環境。

要求 IAM 角色

如要在 Kubernetes 叢集中建立、刪除、編輯或查看無狀態工作負載,請要求機構 IAM 管理員授予您命名空間管理員 (namespace-admin) 角色。這個角色會繫結至專案命名空間。

準備環境

如要針對預先設定的 Bare Metal Kubernetes 叢集執行指令,請確認您擁有下列資源:

  1. 找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。

  2. 如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。

  3. 請使用 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