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

調度應用至指定節點池

您可以給節點池設置標簽(labels),使得應用Pod調度到對應標簽節點池下的節點上。

前提條件

操作步驟

  1. 給節點池設置節點標簽。

    您可以在ACK中通過節點池管理集群中的一組節點資源。例如在節點池中統一管理節點的標簽和污點。有關創建節點池的具體步驟,請參見創建節點池

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

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

    3. 節點池頁面,單擊創建節點池

    4. 在創建節點池配置頁,單擊顯示高級選項,然后單擊節點標簽右側的節點池設置節點標簽。

      本文示例中添加的節點標簽為pod: nginx。

    您可以在目標節點池右側單擊編輯,為節點更新或者添加標簽。Podnginx

  2. 為應用設置調度策略。

    上述步驟已經為節點池中的節點設置了pod:nginx的標簽。您可以利用nodeSelector或者nodeAffinity保證您的應用限定在指定節點池上運行。具體操作步驟如下。

    • 為應用設置nodeSelector

      nodeSelectorspec中的一個字段。您只需要將上述的pod: nginx標簽填充到nodeSelector中。示例如下。

      apiVersion: apps/v1 
      kind: Deployment
      metadata:
        name: nginx-deployment-basic
        labels:
          app: nginx
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            nodeSelector:
              pod: nginx      #添加節點池中的標簽,以保證您的應用只可以運行在節點池的節點上。
            containers:
            - name: nginx
              image: nginx:1.7.9
              ports:
              - containerPort: 80
    • 為應用設置nodeAffinity

      nodeAffinity包含以下調度策略:

      • - requiredDuringSchedulingIgnoredDuringExecution

        表示Pod必須部署到滿足條件的節點上。如果沒有滿足條件的節點,調度操作就會不停重試。其中IgnoreDuringExecution表示Pod部署之后運行時,如果節點標簽發生了變化,不再滿足Pod指定的條件,Pod也會繼續運行。

      • - preferredDuringSchedulingIgnoredDuringExecution

        表示優先部署到滿足條件的節點上,如果沒有滿足條件的節點,則忽略這些條件,按照正常邏輯部署。

      本文示例使用requiredDuringSchedulingIgnoredDuringExecution策略保證應用始終運行在指定的節點池上。

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nginx-with-affinity
        labels:
          app: nginx-with-affinity
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: nginx-with-affinity
        template:
          metadata:
            labels:
              app: nginx-with-affinity
          spec:
            affinity:
              nodeAffinity:
                requiredDuringSchedulingIgnoredDuringExecution:
                  nodeSelectorTerms:
                  - matchExpressions:
                    - key: pod         #節點標簽的鍵,本文示例為pod。
                      operator: In      # 應用將運行在標了pod:nginx的節點上。
                      values:
                      - nginx        #節點標簽的值,本文示例為nginx。
            containers:
            - name: nginx-with-affinity
              image: nginx:1.7.9
              ports:
              - containerPort: 80

結果驗證

單擊應用名稱,進入應用詳情頁面,查看容器組頁簽。目標應用Pod全部被調度到了xx.xx.33.88和xx.xx.33.92的節點上,這些節點正是本文示例中在節點池中打了標簽(pod: nginx)的節點。2.jpg

相關文檔

  • 如果您想了解更多關于nodeSelectornodeAffinity的信息,請參見Assigning Pods to Nodes

  • 您可以在應用發布或擴容過程中,自定義資源策略(ResourcePolicy),設置應用被調度到不同類型節點資源的順序。同時,在縮容過程中按照原調度順序逆序縮容。詳細信息,請參見自定義彈性資源優先級調度