为 Knative Service配置 ACS 算力资源

Knative Service支持配置使用容器计算服务(ACS)算力,通过其多样化的计算类型和算力质量,满足不同业务场景的负载需求并优化成本。

虚拟节点组件ACK Virtual Node同时支持 ACS 和 ECI 两种算力。Pod 被调度到虚拟节点时,您需要在创建Pod时通过Label( alibabacloud.com/acs: "true")手动指定使用ACS算力,并配置使用的计算类型算力质量

如需切换为 ECI 算力,请参见使用ECI资源

计费说明

使用 ACS CPU 算力资源采用按量付费,请参见计费说明

前提条件

操作步骤

您可以在 Knative Service的 Pod 模板中添加标签,以声明使用 ACS 算力。

  1. 参见以下YAML配置 Knative 服务,通过在 metadata.labels 中添加Label alibabacloud.com/acs: "true"指定使用 ACS 算力。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: knative-acs-sample
      namespace: default
    spec:
      template:
        metadata:
          labels:
            # 声明使用 ACS 算力。
            alibabacloud.com/acs: "true" 
            # (可选) 配置ACS Pod的算力类型。
            alibabacloud.com/compute-class: "general-purpose" 
            # (可选) 配置ACS Pod的算力质量。
            alibabacloud.com/compute-qos: "default"
        spec:
          containers:
          - image: registry-vpc.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 # 替换地域为实际使用的地域。
            name: acs-container
            imagePullPolicy: IfNotPresent

    核心参数说明:

    • alibabacloud.com/acs: "true":必需,用于声明该 Pod 使用 ACS 算力。

    • alibabacloud.com/compute-class: 可选,用于指定计算类型,默认为通用型(general-purpose)。

    • alibabacloud.com/compute-qos: 可选,用于指定算力质量,默认为默认型(default)。

  2. 部署 Knative Service。

    kubectl apply -f service.yaml
  3. 查看 Pod 详情,以确认 Knative Service 是否已成功调度至 ACS Pod。

    # 首先获取 Pod 名称
    POD_NAME=$(kubectl get pod -l serving.knative.dev/service=knative-acs-sample -o jsonpath='{.items[0].metadata.name}')
    
    # 查看 Pod 的 Annotation
    kubectl get pod $POD_NAME -o yaml
    

    在输出的 annotations 字段中,如果 alibabacloud.com/instance-id取值中存在以 acs- 开头的实例,则表明创建成功。

    # 示例输出
    annotations:
      alibabacloud.com/cpu-vendors: intel # CPU 供应商
      alibabacloud.com/instance-id: acs-uf6008givz7tfq****** # ACS实例ID。
      alibabacloud.com/pod-use-spec: 0.25-0.5Gi # Pod使用的资源规格
      ...