日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

BestEffort算力質量概述

ACS支持創建使用BestEffort算力質量的實例(本文中簡稱為BestEffort QoS類型實例)。對于短時間運行的Job任務,以及部分擴展性和容錯率高的無狀態應用,使用BestEffort QoS類型實例可以有效地節約實例使用成本。本文介紹如何在ACS中創建BestEffort QoS類型實例。

應用場景

BestEffort QoS類型實例最適合應用于無狀態、可彈性伸縮、高度分布式且對實時性無特殊要求的應用場景。例如可彈性伸縮的Web站點服務、圖像渲染、音視頻轉碼、大數據分析和大規模并行計算等。使用BestEffort QoS類型實例可以極大降低計算資源的使用成本。

一般來說,不建議在BestEffort QoS類型實例上運行有狀態應用,因為BestEffort QoS類型實例有較大的性能擾動,且可被搶占和驅逐。但是在一些特殊情況下,如果能夠滿足以下條件,則可以考慮在BestEffort QoS類型實例上運行有狀態應用:

  • 具有快速重啟能力

  • 使用高可用架構

除非滿足上述所有條件,否則仍建議將有狀態應用部署到資源有保證的實例上,以確保數據安全和業務連續性。

前提條件

創建ACS集群

創建BestEffort實例

  1. 登錄容器計算服務控制臺,在左側導航欄選擇集群

  2. 集群頁面,單擊目標集群ID,然后在左側導航欄,選擇工作負載 > 無狀態

  3. 無狀態頁面,單擊使用鏡像創建

  4. 創建頁面依次填寫應用名稱副本數量類型標簽(可選)、注解(可選)。

  5. 實例類型選擇通用型QoS類型選擇best-effort

說明

后續步驟,請參見創建無狀態工作負載Deployment

釋放說明

BestEffort QoS類型實例創建成功后,如果遇到資源庫存不足的情況,實例會被回收釋放。您可以通過以下方式了解BestEffort QoS類型實例的釋放情況。

預釋放事件

BestEffort QoS類型實例在釋放前約5分鐘,會觸發KubernetesEvents的BestEffortToBeReleased事件。您可以在日志服務控制臺配置BestEffortToBeReleased事件的監控告警,具體操作請參見創建并使用K8s事件中心

重要

收到BestEffort實例即將被釋放的事件通知后,您可以充分利用這段時間進行必要的處理,例如檢查可能受影響的業務范圍、遷移重要的工作負載到其他節點等容災和恢復措施來確保業務不受實例釋放所影響。

通過kubectl describe命令查看Pod詳細信息,在返回信息的Events中可以看到預釋放事件。

kubectl describe pod nginx-best-effort

示例輸出:

Events:
  Type     Reason            Age    From          Message
  ----     ------            ----   ----          -------
  Warning  BestEffortToBeReleased  3m32s  kubelet  Best Effort Instance will be released

通過kubectl get events命令查看事件信息,在返回信息中可以看到預釋放事件。

kubectl get events --field-selector=reason=BestEffortToBeReleased

示例輸出:

LAST SEEN   TYPE      REASON             OBJECT         MESSAGE
3m39s       Warning   BestEffortToBeReleased   pod/pi-frmr8   Best Effort Instance will be released

釋放后Pod狀態

BestEffort QoS類型實例釋放后,實例信息仍會保留,狀態變更為Failed,Failed原因為Preempted。

通過kubectl get pod命令查看Pod信息,在返回信息中可以看到Pod狀態已變更。

kubectl get pod nginx-best-effort

示例輸出:

NAME       READY   STATUS      RESTARTS   AGE
nginx-best-effort   0/0     Preempted   0          3h5m

通過kubectl describe命令查看Pod詳細信息,在返回信息中可以看到Pod狀態信息。

kubectl describe pod nginx-best-effort

示例輸出:

Status:             Failed
Reason:             Preempted
Message:            The pod is best-effort instance, and have been released at 2024-04-08T12:36Z

最佳實踐

BestEffort算力質量實例為動態庫存,強烈建議您在生產環境配置庫存優先調度策略,在庫存不足時由平臺自動切換至默認型。更多信息,請參見自定義資源調度策略。以下以Job為例,配置庫存優先調度策略。

  1. 使用以下內容,創建一個Job。

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: demo-job
      namespace: default
    spec:
      parallelism: 3
      template:
        metadata:
          labels:
            app: stress # 關聯ResourcePolicy中spec.selector定義的配置
        spec:
          containers:
          - name: demo-job
            image: registry.cn-hangzhou.aliyuncs.com/acs/stress:v1.0.4
            args:
              - '30s'
            command:
              - sleep
            resources:
              requests:
                cpu: "1"
                memory: "1Gi"
              limits:
                cpu: "1"
                memory: "1Gi"
          restartPolicy: Never
      backoffLimit: 4
  2. 使用以下內容,創建ResourcePolicy,優先使用best-effort算力質量的實例,庫存不足時則申請default型。

    apiVersion: scheduling.alibabacloud.com/v1alpha1
    kind: ResourcePolicy
    metadata:
      name: rp-demo
      namespace: default
    spec:
      # 符合該selector條件的Pod將遵循此調度策略
      selector:
        app: stress
      # 以下為資源配置,用于描述調度順序
      units:
      - resource: acs # resource類型必須指定為acs
        podLabels: # 優先申請"general-purpose"+"best-effort"類型的資源
          alibabacloud.com/compute-class: general-purpose
          alibabacloud.com/compute-qos: best-effort
      - resource: acs # 前者庫存不足時,再申請"general-purpose"+"default"類型的資源
        podLabels:
          alibabacloud.com/compute-class: general-purpose
          alibabacloud.com/compute-qos: default