ACK Serverless集群接入ACS算力

ACS算力支持多种计算类型和相对应的算力质量,可以满足多样化的业务需求。目前ACK Serverless Pro版集群已支持接入ACS算力,将ACK Virtual Node组件升级到指定版本后,即可在创建Pod时通过Label指定使用ACS算力。

前提条件

  • 首次操作时,需完成服务开通和相关授权操作。

  • ACK Serverless集群为Pro版且版本为1.26及以上。

  • 对于不同Kubernetes版本的ACK Serverless Pro版集群,虚拟节点组件(ACK Virtual Node)版本需要满足以下要求。

    Kubernetes版本

    虚拟节点组件版本

    1.26及以上

    v2.13.0-beta.2及以上

升级ACK Virtual Node组件启用ACS算力

ACK Serverless Pro版集群默认已安装ACK Virtual Node组件,请确认该组件版本已升级到前提条件中要求的版本。

  1. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  2. 核心组件页签下,选择ACK Virtual Node组件进行升级。

    说明

    如果提示需要开通并授权ACS,请按指引完成开通和授权ACS操作,然后再进行组件升级操作。

    image

ACK Serverless Pro版集群使用ACS算力示例

重要
  • ACK Virtual Node组件升级到前提条件中要求的版本后,将同时支持ACS和ECI两种算力。

  • 在Pod调度到虚拟节点的场景中,如果没有指定为ACS Pod的算力类型,则默认优先使用ECI算力。

在ACK Serverless Pro版集群中创建Pod时,通过Label(alibabacloud.com/compute-class:<ACS算力类型>)指定创建ACS Pod的算力类型,即可接入ACS算力。关于ACS Pod类型的介绍,请参见ACS Pod实例概述

配置示例如下:

  1. 将以下YAML内容保存为nginx.yaml,用于创建Deployment。

    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:
          containers:
          - name: nginx
            image: registry.openanolis.cn/openanolis/nginx:1.14.1-8.6
            resources:
              limits:
                cpu: 2
              requests:
                cpu: 2
  2. 创建Deployment并查看部署结果。

    1. 创建Deployment。

      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-675c8f56b4-4zczj   1/1     Running   0          25s   192.168.3.220   virtual-kubelet-cn-shanghai-l   <none>           <none>
      nginx-675c8f56b4-dgzvz   1/1     Running   0          25s   192.168.3.219   virtual-kubelet-cn-shanghai-l   <none>           <none>
  3. 查看Pod详情,确认Pod为ACS Pod。

    kubectl describe pod nginx-675c8f56b4-4zczj 

    在返回信息的Annotations中,通过alibabacloud.com/instance-id字段的取值可以确认该Pod为ACS Pod,该ACS Pod的ID为acs-2ze008giupcyaqb****

    Annotations:      ProviderCreate: done
                      alibabacloud.com/client-token: dbaa4a4f-4251-402b-b74c-9f762d******
                      alibabacloud.com/instance-id: acs-uf6008givz7tfq******
                      alibabacloud.com/pod-ephemeral-storage: 30Gi
                      alibabacloud.com/pod-use-spec: 2-2Gi
                      alibabacloud.com/request-id: 7E1F90D3-D1A4-50F3-867A-313B9F******
                      alibabacloud.com/schedule-result: finished
                      alibabacloud.com/user-id: 1488999589******
                      kubernetes.io/pod-stream-port: 10250
                      kubernetes.io/resource-type: serverless