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

容器水平伸縮(HPA)

容器服務(wù)ACK支持在控制臺(tái)界面上快速創(chuàng)建支持HPA的應(yīng)用,實(shí)現(xiàn)容器資源的彈性伸縮。您也可通過定義HPA(Horizontal Pod Autoscaling)的YAML來進(jìn)行配置。

前提條件

通過容器服務(wù)控制臺(tái)創(chuàng)建HPA應(yīng)用

  1. 登錄容器服務(wù)管理控制臺(tái)

  2. 在控制臺(tái)左側(cè)導(dǎo)航欄,單擊集群

  3. 集群列表頁面,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情

  4. 在集群管理頁左側(cè)導(dǎo)航欄,選擇工作負(fù)載 > 無狀態(tài)

  5. 無狀態(tài)頁面單擊使用鏡像創(chuàng)建

  6. 應(yīng)用基本信息頁填寫應(yīng)用的名稱等信息,然后單擊下一步

    配置項(xiàng)

    描述

    命名空間

    在頁面頂部設(shè)置應(yīng)用部署所處的命名空間,默認(rèn)使用default命名空間。

    應(yīng)用名稱

    設(shè)置應(yīng)用的名稱。

    副本數(shù)量

    即應(yīng)用包含的Pod數(shù)量,默認(rèn)數(shù)量為2。

    類型

    定義資源對象的類型,可選擇無狀態(tài)有狀態(tài)任務(wù)定時(shí)任務(wù)守護(hù)進(jìn)程集

    標(biāo)簽

    為該應(yīng)用添加一個(gè)標(biāo)簽,標(biāo)識(shí)該應(yīng)用。

    注解

    為該應(yīng)用添加一個(gè)注解(annotation)。

    時(shí)區(qū)同步

    僅ACK集群支持配置此參數(shù),ACK Serverless集群不支持。表示容器與節(jié)點(diǎn)是否使用相同的時(shí)區(qū)。

  7. 容器配置頁進(jìn)行容器設(shè)置,選擇鏡像,并設(shè)置所需的資源。然后單擊下一步。詳情請參見配置容器

    說明

    您必須為Deployment設(shè)置所需資源,否則無法進(jìn)行容器自動(dòng)伸縮。

  8. 高級設(shè)置頁的訪問設(shè)置區(qū)域,單擊服務(wù)的創(chuàng)建,設(shè)置服務(wù)的相關(guān)信息,詳情請參見高級設(shè)置

  9. 高級設(shè)置頁選中指標(biāo)伸縮開啟,設(shè)置伸縮的條件和配置。

    • 指標(biāo):支持CPU和內(nèi)存,需要和設(shè)置的所需資源類型相同。

    • 觸發(fā)條件:資源使用率的百分比,超過該使用量,容器開始擴(kuò)容。有關(guān)Pod水平自動(dòng)擴(kuò)縮的算法,請參見算法細(xì)節(jié)

    • 最大副本數(shù):該Deployment可擴(kuò)容的容器數(shù)量上限。

    • 最小副本數(shù):該Deployment可縮容的容器數(shù)量下限。

  10. 單擊右下角的創(chuàng)建,一個(gè)支持HPA的Deployment就已經(jīng)創(chuàng)建完畢。

結(jié)果驗(yàn)證

  1. 單擊查看應(yīng)用詳情或者在工作負(fù)載 > 無狀態(tài)中單擊應(yīng)用名稱操作列的詳情,單擊容器伸縮,您可在部署的詳情中查看伸縮組信息。

  2. 在實(shí)際使用環(huán)境中,應(yīng)用會(huì)根據(jù)CPU負(fù)載進(jìn)行伸縮。您也可在測試環(huán)境中驗(yàn)證彈性伸縮,通過給Pod進(jìn)行CPU壓測,可以發(fā)現(xiàn)Pod在半分鐘內(nèi)即可完成水平的擴(kuò)展。

通過kubectl命令創(chuàng)建HPA應(yīng)用

您也可通過編排模板來手動(dòng)創(chuàng)建HPA,并將其綁定到要伸縮的Deployment對象上,通過kubectl命令實(shí)現(xiàn)容器自動(dòng)伸縮配置。

下面針對一個(gè)Nginx應(yīng)用進(jìn)行舉例。

  1. 創(chuàng)建并復(fù)制以下內(nèi)容到nginx.yml中。

    Deployment的編排模板如下。

    apiVersion: apps/v1 
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx  
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
            ports:
            - containerPort: 80
            resources:
              requests:                         ##必須設(shè)置,不然HPA無法運(yùn)行。
                cpu: 500m
  2. 執(zhí)行以下命令,創(chuàng)建Nginx應(yīng)用。

    kubectl create -f nginx.yml
  3. 創(chuàng)建HPA。

    通過scaleTargetRef設(shè)置當(dāng)前HPA綁定的對象,在本例中綁定名叫nginx的Deployment。

    集群版本為1.24及以下的YAML詳細(xì)信息

    apiVersion: autoscaling/v2beta2
    kind: HorizontalPodAutoscaler
    metadata:
      name: nginx-hpa
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: nginx
      minReplicas: 1
      maxReplicas: 10
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50
                   

    集群版本為1.26的YAML詳細(xì)信息

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: nginx-hpa
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: nginx
      minReplicas: 1
      maxReplicas: 10
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50
                   
    說明

    HPA需要給Pod設(shè)置request資源,如果沒有request資源,HPA不會(huì)運(yùn)行。

  4. 執(zhí)行kubectl describe hpa <HPA的名稱>會(huì)發(fā)現(xiàn)有類似以下的警告信息。

    Warning  FailedGetResourceMetric       2m (x6 over 4m)  horizontal-pod-autoscaler  missing request for cpu on container nginx in pod default/nginx-deployment-basic-75675f5897-mqzs7
    
    Warning  FailedComputeMetricsReplicas  2m (x6 over 4m)  horizontal-pod-autoscaler  failed to get cpu utilization: missing request for cpu on container nginx in pod default/nginx-deployment-basic-75675f5
  5. 創(chuàng)建好HPA后,再次執(zhí)行kubectl describe hpa <HPA的名稱>命令。

    可以看到以下信息,則表示HPA已經(jīng)正常運(yùn)行。

    Normal SuccessfulRescale 39s horizontal-pod-autoscaler New size: 1; reason: All metrics below target

    此時(shí)當(dāng)Nginx的Pod的利用率超過本例中設(shè)置的50%利用率時(shí),則會(huì)進(jìn)行水平擴(kuò)容,低于50%的時(shí)候會(huì)進(jìn)行縮容。