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

在Knative中使用AHPA彈性預測

Knative Serverless支持AHPA(Advanced Horizontal Pod Autoscaler)的彈性能力,當應用所需資源具備周期性變化時,可通過彈性預測,預熱資源,緩解您在使用Knative時遇到的冷啟動問題。本文介紹如何在Knative中使用AHPA彈性預測功能。

前提條件

步驟一:安裝AHPA Controller

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面,單擊其他頁簽或在頁面右上方搜索AHPA Controller,然后在AHPA Controller卡片單擊安裝

  4. 在安裝組件對話框,單擊確定

步驟二:配置Prometheus指標采集

通過Prometheus采集Knative服務的RT、RPS指標數據。

1、設置采集規則

  1. 登錄ARMS控制臺
  2. 在左側導航欄選擇Prometheus監控 > 實例列表,進入可觀測監控 Prometheus 版的實例列表頁面。

  3. 在頂部菜單欄選擇目標集群所在的地域。

  4. 實例列表頁面,單擊目標實例名稱,進入目標實例頁面。

  5. 在左側導航欄選擇服務發現,然后單擊配置頁簽,在配置頁簽下,單擊自定義服務發現,然后單擊添加

  6. 添加自定義服務發現對話框中,設置采集規則。

    采集規則配置示例如下:

    job_name: queue-proxy
    scrape_interval: 3s
    scrape_timeout: 3s
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels:
      - __meta_kubernetes_pod_label_serving_knative_dev_revision
      - __meta_kubernetes_pod_container_port_name
      action: keep
      regex: .+;http-usermetric
    - source_labels:
      - __meta_kubernetes_namespace
      target_label: namespace
    - source_labels:
      - __meta_kubernetes_pod_name
      target_label: pod
    - source_labels:
      - __meta_kubernetes_service_name
      target_label: service

2、配置Prometheus數據源

  1. 登錄ARMS控制臺
  2. 在左側導航欄選擇Prometheus監控 > 實例列表,進入可觀測監控 Prometheus 版的實例列表頁面。

  3. 在頂部菜單欄選擇目標集群所在的地域。

  4. 實例列表頁面,單擊目標實例名稱,進入目標實例詳情頁面。

  5. 在左側導航欄單擊設置,復制HTTP API地址下的公網地址。

  6. 在HTTP API地址下單擊生成token,獲取Prometheus實例的鑒權Token。

  7. 使用以下內容,創建application-intelligence.yaml,在集群中設置Prometheus查詢地址。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: application-intelligence
      namespace: kube-system
    data:
      prometheusUrl: "https://cn-hangzhou.arms.aliyuncs.com:9443/api/v1/prometheus/da9d7dece901db4c9fc7f5b9c40****/158120454317****/cc6df477a982145d986e3f79c985a****/cn-hangzhou"
      token: "****"

    部分參數說明如下:

    • prometheusUrl:用于設置阿里云Prometheus的訪問地址,值為第4步獲取的公網地址。

    • token:用于設置訪問鑒權Token,值為第5步獲取的鑒權Token。

  8. 執行以下命令,部署ConfigMap。

    kubectl apply -f application-intelligence.yaml

步驟三:創建Knative服務

在Knative Service指定使用AHPA彈性策略。

  1. 使用以下內容,創建autoscale-go.yaml

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: autoscale-go
      namespace: default
    spec:
      template:
        metadata:
          labels:
            app: autoscale-go
          annotations:
            autoscaling.knative.dev/class: ahpa.autoscaling.knative.dev
            autoscaling.knative.dev/target: "500"
            autoscaling.knative.dev/metric: "rt"
            autoscaling.knative.dev/minScale: "1"
            autoscaling.knative.dev/maxScale: "30"
            autoscaling.alibabacloud.com/scaleStrategy: "observer"
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/autoscale-go:0.1
                            

    參數

    說明

    autoscaling.knative.dev/class: ahpa.autoscaling.knative.dev

    指定彈性插件AHPA。

    autoscaling.knative.dev/metric: "rt"

    設置AHPA指標。目前僅支持響應時間RT。

    autoscaling.knative.dev/target: "500

    設置AHPA指標的閾值,本示例RT閾值為500,單位毫秒。

    autoscaling.knative.dev/minScale: "1"

    設置彈性策略實例數的最小值為1。

    autoscaling.knative.dev/maxScale: "30"

    設置彈性策略實例數的最大值為30。

    autoscaling.alibabacloud.com/scaleStrategy: "observer"

    設置彈性伸縮模式,默認值是observer

    • observer:表示只觀察,但不做真正的伸縮動作。您可以通過這種方式觀察AHPA的工作是否符合預期。由于預測需要歷史7天的數據,因此創建服務默認是observer模式。

    • auto:表示由AHPA負責擴容和縮容,把AHPA指標和閾值輸入到AHPA,AHPA最終決定是否生效。

  2. 執行以下命令,開啟AHPA彈性策略。

    kubectl apply -f autoscale-go.yaml

執行結果

Knative Service開啟AHPA彈性后,您可以看到彈性預測生效前后的RT數據對比。AHPA效果圖.png

相關文檔