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

使用ASM Serverless網關支撐彈性業務場景

ASM Serverless網關是基于虛擬節點和ECI提供的一種Serverless網關形態,用于支撐各種彈性和免節點運維的場景。本文介紹如何使用ASM Serverless網關支撐彈性業務場景。

前提條件

相關概念

概念

說明

彈性容器實例ECI(Elastic Container Instance)

阿里云彈性容器實例ECI是面向容器的無服務器彈性計算服務,提供免運維、強隔離、快速啟動的容器運行環境。使用ECI無需購買和管理底層ECS服務器,讓您更加關注在容器應用而非底層基礎設施的維護工作。您可按需創建ECI,僅為容器配置的資源付費(按量按秒計費)。更多信息,請參見什么是彈性容器實例計費概述。

虛擬節點(Virtual Node)

適合運行在有明顯的波峰波谷計算特征的場景,幫助您極大地降低計算成本,提升計算彈性效率。

污點(Taint)

作用于節點上,使節點可以排斥一類特定的Pod。

ACK集群中的Virtual Node默認都會打上污點virtual-kubelet.io/provider=alibabacloud:NoSchedule,以避免您在不知情的情況下使用ECI彈性資源。

容忍度(Toleration)

作用于Pod上,允許調度器將該Pod調度到帶有對應污點的節點上。

若您需要在ACK集群中使Pod可以使用ECI彈性資源,請配置以下tolerations來容忍污點virtual-kubelet.io/provider=alibabacloud:NoSchedule。更多信息,請參見通過部署ACK虛擬節點組件創建ECI Pod。

      tolerations:
      - key: virtual-kubelet.io/provider
        operator: Equal
        value: alibabacloud
        effect: NoSchedule
說明

污點和容忍度相互配合,可用于避免Pod被分配到不合適的節點上。每個節點都可以應用一個或多個污點。

  • 若Pod不能容忍指定的污點,將不會被節點接受,即Pod不能調度到具有匹配污點的節點上。

  • 若Pod可以容忍指定的污點,表示Pod可以(但不要求)被調度到具有匹配污點的節點上。

更多信息,請參見taint-and-toleration。

節點親和性(nodeAffinity)

規定Pod調度時的軟需求或者偏好,且在這種偏好不被滿足時成功調度該Pod到其他節點。

步驟一:添加標簽至節點

  1. 執行以下命令,獲取集群的節點名稱。

    kubectl get nodes
  2. 執行以下命令,將標簽添加到目標節點。

    # 命令格式。
    kubectl label nodes <node-name> <label-key>=<label-value>
    
    # 命令示例。
    kubectl label nodes node1 mykey4pod=asmgateway

步驟二:添加污點至節點

執行以下命令,為節點增加一個污點。

kubectl taint nodes node1 mykey=myvalue:NoSchedule

該命令表示為節點node1增加一個污點。其中,Key是mykey,Value是myvalue,Effect是NoSchedule,表示只有擁有和這個污點相匹配的容忍度的Pod才能夠被分配到node1節點。

步驟三:為ASM網關設置節點親和性和容忍度

在ASM網關中配置nodeAffinity參數,使ASM網關的Pod分布到指定的節點上;配置tolerations參數與步驟二創建的污點相匹配,使網關的Pod能夠被分配到指定的節點上。

  1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理。

  2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇ASM網關 > 入口網關

  3. 入口網關頁面右側,單擊目標網關對應的查看YAML。

  4. 編輯對話框的spec字段下,增加如下內容,然后單擊確定

       affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - preference:
                matchExpressions:
                  - key: type
                    operator: In
                    values:
                      - virtual-kubelet
              weight: 20
            - preference:
                matchExpressions:
                  - key: mykey4pod
                    operator: In
                    values:
                      - asmgateway
              weight: 80
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: mykey4pod
                    operator: In
                    values:
                      - asmgateway
              - matchExpressions:
                  - key: type
                    operator: In
                    values:
                      - virtual-kubelet
      tolerations:
        - effect: NoSchedule
          key: virtual-kubelet.io/provider
          operator: Equal
          value: alibabacloud
        - effect: NoSchedule
          key: mykey
          operator: Equal
          value: myvalue

    關鍵參數說明如下。關于參數的更多信息,請參見Assigning Pods to Nodes。

    參數

    說明

    preferredDuringSchedulingIgnoredDuringExecution

    調度器會嘗試尋找滿足對應規則的節點。若找不到匹配的節點,調度器仍然會調度該Pod。該參數關聯2個matchExpressions。weight的值為相對值,優先使用較大值。weight20的配置表示調度Pod使用ECI資源;weight80的配置表示調度Pod到指定Label的ECS節點上。

    requiredDuringSchedulingIgnoredDuringExecution

    調度器只有在規則被滿足的時候才能執行調度。該參數關聯2個matchExpressions,分別表示調度Pod到指定Label的ECS節點上、調度Pod使用ECI資源。

    tolerations

    表示容忍污點virtual-kubelet.io/provider=alibabacloud:NoSchedule,使Pod可以使用ECI資源。

  5. 查看網關的Pod所在的節點是否符合預期。

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

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 容器組。

    3. 容器組頁面上方,選擇istio-system命名空間,查看網關Pod所在的節點是否符合預期。

      若網關Pod所在的節點為目標節點,表明為ASM網關設置節點親和性和容忍度成功。