調度無狀態工作負載資源

根據不斷變化的容器工作負載需求,擴充無狀態工作負載。

事前準備

如要對 Kubernetes 叢集執行指令,請確認您具備下列資源:

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

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

  3. 請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的 KUBERNETES_CLUSTER_KUBECONFIG

如要取得擴充無狀態工作負載所需的權限,請要求機構的 IAM 管理員在專案命名空間中,授予您命名空間管理員角色 (namespace-admin)。

調度 Deployment 資源

運用 Kubernetes 的擴縮功能,適當擴縮部署中執行的 Pod 數量。

自動調度部署的 Pod 資源

Kubernetes 提供自動調度資源功能,因此需求變化時,您不必手動更新部署作業。在部署作業中設定水平 Pod 自動調度器,即可啟用這項功能:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    autoscale deployment DEPLOYMENT_NAME \
    --cpu-percent=CPU_PERCENT \
    --min=MIN_NUMBER_REPLICAS \
    --max=MAX_NUMBER_REPLICAS

更改下列內容:

  • KUBERNETES_CLUSTER_KUBECONFIG:叢集的 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 KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    scale deployment DEPLOYMENT_NAME \
    --replicas NUMBER_OF_REPLICAS

更改下列內容:

  • KUBERNETES_CLUSTER_KUBECONFIG:叢集的 kubeconfig 檔案。

  • NAMESPACE:專案命名空間。

  • DEPLOYMENT_NAME:要自動調度資源的部署作業名稱。

  • DEPLOYMENT_NAME:部署作業中所需的複製 Pod 物件數量。