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

ACK托管集群Pro版接入ACS算力

阿里云容器計算服務 ACS(Container Compute Service)已經集成到容器服務 Kubernetes 版,您可以通過ACK集群Pro版快速使用ACS提供的容器算力。本文介紹ACK集群如何接入ACS算力。

ACK集群對接方式

容器計算服務 ACS(Container Compute Service)是以Kubernetes為用戶界面的容器服務產品,提供符合容器規范的算力資源。ACS的Kubernetes管控和容器算力分層設計,為Kubernetes提供一種層次化的解決方案:ACS的計算資源層負責底層Pod容器資源的調度和分配,而Kubernetes則在此基礎上負載業務負載管理,例如管理Deployment、Service、StatefulSet、CronJob等。

ACS容器算力可以通過虛擬節點(Virtual Node)的形式接入到Kubernetes集群中,使得集群可以輕松獲得極大的彈性能力,而不必受限于集群的節點計算容量。ACS在接管Pod容器底層基礎設施的管理工作后,Kubernetes不再需要直接負責單個Pod的放置、啟動等工作,也不再需要關心底層虛擬機的資源情況,通過ACS即可確保Pod需要的資源隨時可用。

容器服務 Kubernetes 版 ACK(Container Service for Kubernetes)是全球首批通過Kubernetes一致性認證的服務平臺,提供高性能的容器應用管理服務。它整合了阿里云虛擬化、存儲、網絡和安全能力,簡化集群的搭建和擴容等工作,讓您專注于容器化的應用的開發與管理。

ACK集群Pro版中,您需要先手動部署虛擬節點,才能創建ACS Pod。集群需要擴容時,可以直接在虛擬節點下按需創建ACS Pod,而無需規劃節點的計算容量,ACS Pod與集群中真實節點上的Pod之間網絡互通。建議您將部分長時間運行且流量彈性變化的業務負載調度至虛擬節點,這可以充分利用已有資源,縮短彈性擴容的時間,并減少擴容成本。當業務流量下降后,您可以快速釋放部署在虛擬節點上的Pod,從而降低使用成本。虛擬節點上的Pod均基于ACS運行在安全隔離的容器運行環境中,每個Pod對應一個ACS實例。更多信息,請參見ACK產品概述

image

前提條件

  • 對于不同Kubernetes版本的ACK集群Pro版,虛擬節點組件(ACK Virtual Node)版本需要滿足以下要求。

    Kubernetes版本

    虛擬節點組件版本

    1.26及以上

    v2.13.0-beta.2及以上

安裝ACK Virtual Node組件啟用ACS算力

ACS容器算力可以以虛擬節點的形式接入到ACK集群中,使得集群可以輕松獲得極大的彈性能力,而不必受限于集群的節點計算容量。具體操作步驟如下:

  1. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  2. 核心組件分頁選擇ACK Virtual Node組件進行安裝或者升級到指定版本。

    image

  3. 若安裝ACK Virtual Node前提示開通并授權ACS,需要按指引開通并授權ACS。完成ACS的開通和授權后點擊確定安裝。

    image.png

  4. 安裝完成后,在左側導航欄選擇節點管理 > 節點,新增的虛擬節點名稱默認會以virtual-kubelet-為開頭。

    image

ACK使用ACS算力示例

ACK Virtual Node組件安裝或升級到前提條件中的指定版本后,將同時支持ACS和ECI兩種算力。

說明

在Pod調度到虛擬節點的場景中,如果沒有指定為ACS的算力類型,則默認會優先使用ECI彈性實例。

ACK使用ACS算力可以通過以下步驟實現:

  1. 通過NodeSelector、親和性和反親和性、ResourcePolicy等調度方式將Pod調度到虛擬節點。具體步驟,請參見節點親和性調度

  2. 通過Label(alibabacloud.com/compute-class:計算類型)指定創建ACS Pod的實例類型。關于ACS實例類型的介紹,請參見ACS Pod實例概述

具體操作步驟如下:

  1. 執行以下命令,查看虛擬節點的Label。命令中的virtual-kubelet-cn-hangzhou-k請按實際內容修改。

    kubectl get node virtual-kubelet-cn-hangzhou-k -oyaml

    預期輸出(僅展示Label相關關鍵內容):

    apiVersion: v1
    kind: Node
    metadata:
      labels:
        kubernetes.io/arch: amd64
        kubernetes.io/hostname: virtual-kubelet-cn-hangzhou-k
        kubernetes.io/os: linux
        kubernetes.io/role: agent
        service.alibabacloud.com/exclude-node: "true"
        topology.diskplugin.csi.alibabacloud.com/zone: cn-hangzhou-k
        topology.kubernetes.io/region: cn-hangzhou
        topology.kubernetes.io/zone: cn-hangzhou-k
        type: virtual-kubelet # 所有虛擬節點都存在該標簽,可以使用該標簽實現Pod定向調度到虛擬節點。
      name: virtual-kubelet-cn-hangzhou-k
    spec:
      taints:
      - effect: NoSchedule
        key: virtual-kubelet.io/provider
        value: alibabacloud 
  2. 使用以下YAML內容創建Deployment,部署2個Pod。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          labels:
            app: nginx 
            alibabacloud.com/compute-class: general-purpose # 配置ACS Pod的算力類型,未配置默認general-purpose
            alibabacloud.com/compute-qos: default # 配置ACS Pod的算力質量,未配置默認default
        spec:
          nodeSelector:
            type: virtual-kubelet #定向調度到虛擬節點
          tolerations:
          - key: "virtual-kubelet.io/provider" # 容忍虛擬節點的污點 
            operator: "Exists"
            effect: "NoSchedule"
          containers:
          - name: nginx
            image: registry.openanolis.cn/openanolis/nginx:1.14.1-8.6
            resources:
              limits:
                cpu: 2
              requests:
                cpu: 2
  3. 創建應用Nginx并查看部署結果。

    1. 執行以下命令,創建應用Nginx。

      kubectl apply -f nginx.yaml 

      預期輸出:

      deployment.apps/nginx created
    2. 執行以下命令,查看部署結果。

      kubectl get pods -o wide

      預期輸出:

      NAME                    READY   STATUS    RESTARTS   AGE   IP               NODE                            NOMINATED NODE   READINESS GATES
      nginx-9cdf7bbf9-s****   1/1     Running   0          36s   10.0.6.68        virtual-kubelet-cn-hangzhou-j   <none>           <none>
      nginx-9cdf7bbf9-v****   1/1     Running   0          36s   10.0.6.67        virtual-kubelet-cn-hangzhou-k   <none>           <none>

      由預期輸出得到,這兩個Pod通過nodeSelector被調度到labeltype=virtual-kubelet的節點上。

  4. 查看應用Nginx的Pod詳情,確認Pod為ACS Pod實例。

    1. 執行以下命令,查看應用Nginx的Pod詳情。

      kubectl describe pod nginx-9cdf7bbf9-s**** 

      預期輸出(關鍵信息):

      Annotations:      ProviderCreate: done
                        alibabacloud.com/client-token: edf29202-54ac-438e-9626-a1ca007xxxxx
                        alibabacloud.com/instance-id: acs-2ze008giupcyaqbxxxxx
                        alibabacloud.com/pod-ephemeral-storage: 30Gi
                        alibabacloud.com/pod-use-spec: 2-4Gi
                        alibabacloud.com/request-id: A0EF3BF3-37E7-5A07-AC2D-68A0CFCxxxxx
                        alibabacloud.com/schedule-result: finished
                        alibabacloud.com/user-id: 14889995898xxxxx
                        kubernetes.io/pod-stream-port: 10250
                        kubernetes.io/preferred-scheduling-node: virtual-kubelet-cn-hangzhou-j/1
                        kubernetes.io/resource-type: serverless

      輸出的Pod內容中存在注解alibabacloud.com/instance-id: acs-2ze008giupcyaqbxxxxx則可確認該Pod為ACS Pod實例。