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

容器柔性變配

更新時(shí)間:

本文介紹ACS Pod的柔性變配,以及使用柔性變配降低資源使用成本和加速應(yīng)用啟動(dòng)的實(shí)踐。

背景介紹

一般而言,Serverless Pod在生產(chǎn)階段即會(huì)以確定性的資源進(jìn)行裝箱,在整個(gè)生命周期階段其可用的CPU和內(nèi)存資源上限都是確定的。在面對(duì)復(fù)雜的生產(chǎn)環(huán)境場(chǎng)景時(shí),服務(wù)在不同的階段對(duì)算力資源的消耗可能是動(dòng)態(tài)波動(dòng)的,初期對(duì)Pod的容量規(guī)劃時(shí)可能面臨一些挑戰(zhàn),如部分應(yīng)用啟動(dòng)期間消耗大量CPU資源,長(zhǎng)時(shí)間維持在較低水位;比如部分有狀態(tài)或游戲業(yè)務(wù),在維持狀態(tài)或維持Session鏈接的情況下滿足業(yè)務(wù)上的波峰波谷。

面對(duì)這種場(chǎng)景,Serverless Pod一方面需要具有更細(xì)粒度、更靈活的規(guī)格聲明,以貼合業(yè)務(wù)的真實(shí)資源使用,另一方面如果具備動(dòng)態(tài)變更規(guī)格,在業(yè)務(wù)需要時(shí)進(jìn)行按需擴(kuò)縮容,將可以極大地降低容量規(guī)劃的難度和產(chǎn)生更貼合真實(shí)資源使用的成本支出。

ACS Pod的柔性變配可以提供一種以10秒級(jí)的低延遲完成容器的CPU資源熱變更的產(chǎn)品能力,結(jié)合ACS中提供的AVPA組件(acs-advanced-vertical-pod-autoscaler),提供多種自動(dòng)變配的能力滿足業(yè)務(wù)的規(guī)格變化場(chǎng)景。

說明
  • 當(dāng)前柔性變配在邀測(cè)階段,您可以提交工單申請(qǐng)進(jìn)行試用。

  • 當(dāng)前ACS產(chǎn)品支持對(duì)ComputeClass=general-purposeComputeQoS=default的ACS Pod CPU資源的柔性變配,最大支持原始規(guī)格的100%擴(kuò)容,最小支持原始規(guī)格的50%縮容。如一個(gè)4vCpu8Gi的ACS Pod擴(kuò)縮容范圍是2vCpu8Gi8vCpu8Gi

適用場(chǎng)景

圖片 1

柔性變配目前支持變配過程不發(fā)生容器重啟,對(duì)于算力使用有一定波峰波谷的情況,都可以使用此特性來滿足,比如應(yīng)用啟動(dòng)加速、有狀態(tài)應(yīng)用原地變配、應(yīng)用的局部算力熱點(diǎn)等。

具體適用場(chǎng)景說明:

  • 對(duì)于啟動(dòng)期間需要進(jìn)行一些編譯或預(yù)加載,使用較多算力資源,常態(tài)運(yùn)行資源回落至平穩(wěn)狀態(tài),可以通過啟動(dòng)期間分配更多CPU資源,在啟動(dòng)完成后降配至較低資源長(zhǎng)穩(wěn)運(yùn)行。

  • 有狀態(tài)應(yīng)用,如Redis在負(fù)載增加時(shí)可以通過柔性變配進(jìn)行縱向擴(kuò)容。

  • 在線應(yīng)用如存在部分大請(qǐng)求或長(zhǎng)連接Session導(dǎo)致的局部熱點(diǎn)壓力可以通過柔性變配進(jìn)行縱向擴(kuò)容。

前提條件

單Pod手動(dòng)規(guī)格變配操作示例

步驟一:開啟原地變配的特性門控

  1. 登錄容器計(jì)算服務(wù)控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群

  2. 集群頁(yè)面,單擊目標(biāo)集群ID,然后在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理組件管理

  3. 核心組件區(qū)域選擇Kube API Server > 配置。在featureGates配置項(xiàng)中填入InPlacePodVerticalScaling=true,開啟原地變配的特性門控。

    image

    說明

    配置過程中Kube API Server卡片會(huì)顯示狀態(tài)為操作執(zhí)行中,當(dāng)狀態(tài)重新為已安裝時(shí),說明原地變配的特性門控開啟成功。

步驟二:對(duì)ACS Pod進(jìn)行規(guī)格變配

  1. 集群頁(yè)面,單擊目標(biāo)集群ID,然后在左側(cè)導(dǎo)航欄,選擇工作負(fù)載 > 無狀態(tài)

  2. 單擊使用YAML創(chuàng)建資源,使用下面的樣例YAML進(jìn)行創(chuàng)建。YAML中的scaling.alibabacloud.com/enable-inplace-resource-resize: 'true'表示為當(dāng)前Pod啟用柔性變配。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: demo
      name: demo
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: demo
      template:
        metadata:
          annotations:
            scaling.alibabacloud.com/enable-inplace-resource-resize: 'true'  # 聲明開啟柔性變配
          labels:
            alibabacloud.com/compute-class: general-purpose
            alibabacloud.com/compute-qos: default
            app: demo
        spec:
          containers:
            - image: 'registry.cn-hangzhou.aliyuncs.com/acs-demo-ns/demo-java:java-with-metrics-v1'
              imagePullPolicy: IfNotPresent
              name: spring
              ports:
                - containerPort: 8080
                  protocol: TCP
              resources:
                limits:
                  cpu: 1
                  memory: 4Gi
                requests:
                  cpu: 1
                  memory: 4Gi

    Pod Annotations配置項(xiàng)

    配置項(xiàng)描述

    Value

    scaling.alibabacloud.com/enable-inplace-resource-resize

    在創(chuàng)建Pod時(shí)指定,描述當(dāng)前ACS Pod啟用柔性變配。

    true

  3. 創(chuàng)建完成后在容器組頁(yè)面點(diǎn)擊編輯,手動(dòng)把容器CPU資源從1修改為2,然后點(diǎn)擊更新

    image.png

  4. 通過柔性變配能力,當(dāng)前Pod不發(fā)生Pod重啟,規(guī)格就變更為2vCpu4Gi

    image

使用自動(dòng)柔性變配加速應(yīng)用啟動(dòng)示例

以一個(gè)典型Java應(yīng)用為例,在應(yīng)用啟動(dòng)階段會(huì)在類加載、字節(jié)碼編譯等動(dòng)作上消耗大量資源,而進(jìn)入穩(wěn)態(tài)后這部分資源將被釋放出來。因此從應(yīng)用快速啟動(dòng),并且在常態(tài)運(yùn)行降低成本的角度考慮,我們需要有一種方式能讓Serverless Pod在啟動(dòng)階段使用更多資源,而服務(wù)啟動(dòng)完成后將資源進(jìn)行降配。

ACS提供啟動(dòng)加速的功能,您可以通過配置描述將一個(gè)ACS Pod以聲明規(guī)格的一定倍數(shù)進(jìn)行啟動(dòng),在啟動(dòng)完成后自動(dòng)降配至原始規(guī)格。

步驟一:開啟原地變配的特性門控

  1. 請(qǐng)參見步驟一:開啟原地變配的特性門控

步驟二:安裝acs-advanced-vertical-pod-autoscaler組件

  1. 在左側(cè)導(dǎo)航欄,選擇應(yīng)用> Helm,搜索并安裝acs-advanced-vertical-pod-autoscaler組件。具體操作,請(qǐng)參見使用Helm管理ACS應(yīng)用

    image.png

步驟三:使用柔性變配加速應(yīng)用啟動(dòng)

  1. 通過YAML創(chuàng)建一個(gè)Java的工作負(fù)載,并開啟啟動(dòng)加速特性。YAML中除了scaling.alibabacloud.com/enable-inplace-resource-resize: 'true'之外,還需要通過alibabacloud.com/startup-cpu-burst-factoralibabacloud.com/startup-cpu-burst-duration-seconds注解來配置啟動(dòng)擴(kuò)容倍數(shù)和自動(dòng)降配時(shí)間。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: spring-with-burst
      name: spring-with-burst
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: spring-with-burst
      template:
        metadata:
          annotations:
            alibabacloud.com/startup-cpu-burst-factor: '2' #設(shè)置啟動(dòng)擴(kuò)容倍數(shù)為2, 即初始2C會(huì)以4C啟動(dòng),容器Ready狀態(tài)后縮容會(huì)初始狀態(tài)
            alibabacloud.com/startup-cpu-burst-duration-seconds: "30" #不填則默認(rèn)在Pod Ready后30秒自動(dòng)降配
            scaling.alibabacloud.com/enable-inplace-resource-resize: 'true' # 聲明開啟柔性變配 
          labels:
            alibabacloud.com/compute-class: general-purpose
            alibabacloud.com/compute-qos: default
            app: spring-with-burst
        spec:
          containers:
            - image: 'registry.cn-hangzhou.aliyuncs.com/acs-demo-ns/demo-java:java-with-metrics-v1'
              imagePullPolicy: IfNotPresent
              name: spring
              ports:
                - containerPort: 8080
                  protocol: TCP
              resources:
                limits:
                  cpu: 1
                  memory: 4Gi
                requests:
                  cpu: 1
                  memory: 4Gi

    Pod Annotations配置項(xiàng)

    配置項(xiàng)描述

    Value

    scaling.alibabacloud.com/enable-inplace-resource-resize

    在創(chuàng)建Pod時(shí)指定,描述當(dāng)前ACS Pod啟用柔性變配。

    支持取值:true。

    alibabacloud.com/startup-cpu-burst-factor

    在創(chuàng)建Pod時(shí)指定,描述當(dāng)前ACS Pod以原始規(guī)格的倍數(shù)進(jìn)行啟動(dòng)。

    支持取值:2。

    說明

    例如原始規(guī)格為2vCpu,則啟動(dòng)時(shí)以4vCpu進(jìn)行啟動(dòng)。

    alibabacloud.com/startup-cpu-burst-duration-seconds

    在創(chuàng)建Pod時(shí)指定,描述當(dāng)前ACS Pod在啟動(dòng)完成一定秒數(shù)后進(jìn)行降配。

    支持取值:大于等于30。

    說明

    默認(rèn)值為30秒,當(dāng)Pod進(jìn)入Ready狀態(tài)30秒后進(jìn)行降配。

步驟四:觀察Pod的創(chuàng)建和服務(wù)啟動(dòng)過程

創(chuàng)建完成后,進(jìn)入應(yīng)用詳情,此時(shí)可以看到Pod以2vCpu4Gi的規(guī)格進(jìn)行創(chuàng)建。在啟動(dòng)完成并達(dá)到預(yù)設(shè)的延遲等待時(shí)間后,Pod規(guī)格會(huì)自動(dòng)降配至1vCpu4Gi

  1. 查看Pod事件。

    事件頁(yè)面中選擇Pod,會(huì)透出具體的降配信息。在本示例中為Starting to resize resource down for container: spring cpu: 2 -> 1, memory: 4Gi -> 4Gi

    image

  2. 查看Pod監(jiān)控。

    通過監(jiān)控頁(yè)面可以看到CPU Info信息中,CPU存在一個(gè)變化的過程。

    image