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

調度Pod到x86架構的虛擬節點

對于ACK Serverless集群,所有Pod均運行在虛擬節點(默認x86架構)上,無需進行調度;對于ACK集群,即混合使用標準節點(ECS)和虛擬節點(ECI,基于VK)的模式下,默認會將Pod調度到ECS節點,您可以根據需要將Pod調度到虛擬節點。本文介紹如何將ACK集群中的Pod調度到x86架構的虛擬節點上。

調度方式概述

您可以通過以下幾種方式將Pod調度到x86架構的虛擬節點:

說明

下述方式均需要對存量資源做一定的修改,無法做到零侵入,建議您配置ECI Profile,通過ECI Profile的ECI Scheduler能力,在eci-profile配置文件中聲明需要匹配的Pod或者Namespace的Label,對于Label能夠匹配上的Pod,將被自動調度到ECI。更多信息,請參見配置ECI Profile

  • 配置Pod Label

    如果您有個別Pod需要調度到ECI上運行,可以直接為Pod添加特定的Label,則該Pod將運行在x86架構的虛擬節點上。

  • 配置Namespace Label

    如果您有一類Pod需要調度到ECI上運行,可以創建一個Namespace并添加特定的Label,則該Namespace下的所有Pod將運行在x86架構的虛擬節點上。

  • (僅適用于ACK Pro集群)配置ECI彈性調度

    ECI彈性調度是阿里云提供的一種彈性調度策略,在部署服務時,您可以添加Annotations來聲明只使用普通節點的資源或者虛擬節點的ECI資源,或者在普通節點的資源不足時自動使用ECI資源,以滿足不同場景下對彈性資源的不同需求。

  • (不推薦)配置nodeSelector和tolerations、指定nodeName等其它方式

    x86架構的虛擬節點默認配置了Label和Taint,因此可以為Pod配置對應的nodeSelector和tolerations將Pod調度到x86架構的虛擬節點上,或者也可以采用指定nodeName的方式進行調度。

方式一:配置Pod Label

您可以為Pod添加alibabacloud.com/eci=true的Label,將Pod調度到ECI上運行。

說明

仍支持添加eci=true的Label,但不推薦。

配置示例如下:

  1. 創建Pod的YAML配置文件。

    vim test-pod.yaml

    test-pod.yaml的內容示例如下:

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx1
      labels: 
        alibabacloud.com/eci: "true"   # 添加特定Label
    spec:
      containers:
      - image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        imagePullPolicy: Always
        name: nginx
  2. 創建Pod。

    kubectl create -f test-pod.yaml 

方式二:配置Namespace Label

您可以創建一個Namespace并添加alibabacloud.com/eci=true的Label,則該Namespace下的所有Pod將調度到ECI上運行。

說明

仍支持添加virtual-node-affinity-injection=enabled的Label,但不推薦。

配置示例如下:

  1. 創建Namespace。

    kubectl create ns vk
  2. 為Namespace添加Label。

    kubectl label namespace vk alibabacloud.com/eci=true
  3. 創建Pod的YAML配置文件。

    vim test-pod.yaml

    test-pod.yaml的內容示例如下:

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
      namespace: vk  # 指定添加了特定Label的Namespace
    spec:
      containers:
      - image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        imagePullPolicy: Always
        name: nginx
  4. 創建Pod。

    kubectl create -f test-pod.yaml 

方式三:配置ECI彈性調度

您可以在Pod metadata中添加Annotations來聲明彈性資源的類型,對應的配置項為alibabacloud.com/burst-resource,取值如下:

  • eci:當集群普通節點的資源不足時,使用ECI。

  • eci_only:只使用ECI。

重要

該方式僅適用于ACK Pro版集群,且集群的Kubernetes版本不能低于1.18。更多信息,請參見使用ECI彈性調度

配置示例如下:

  1. 創建Deployment的YAML配置文件。

    vim test-deployment.yaml

    test-deployment.yaml的內容示例如下:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          annotations:
            alibabacloud.com/burst-resource: eci  # 設置彈性調度的資源類型
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            resources:
              limits:
                cpu: 2
              requests:
                cpu: 2
  2. 創建Deployment。

    kubectl create -f test-deployment.yaml 

(不推薦)其它方式

您可以通過配置nodeSelector和tolerations、指定nodeName等方式將Pod調度到ECI上運行。

配置示例如下:

  1. 創建Pod的YAML配置文件。

    vim test-pod.yaml

    test-pod.yaml的內容示例如下:

    • 配置nodeSelector和tolerations

      apiVersion: v1
      kind: Pod
      metadata:
        name: nginx
      spec:
        containers:
        - image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
          imagePullPolicy: Always
          name: nginx
        nodeSelector:    # 配置nodeSelector
          type: virtual-kubelet
        tolerations:     # 配置tolerations
        - key: virtual-kubelet.io/provider
          operator: Exists
    • 指定nodeName

      apiVersion: v1
      kind: Pod
      metadata:
        name: nginx
      spec:
        containers:
        - image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
          imagePullPolicy: Always
          name: nginx
        nodeName: virtual-kubelet-cn-beijing-g # 指定nodeName
  2. 創建Pod。

    kubectl create -f test-pod.yaml