Knative Service支持配置使用容器计算服务(ACS)算力,通过其多样化的计算类型和算力质量,满足不同业务场景的负载需求并优化成本。
虚拟节点组件ACK Virtual Node同时支持 ACS 和 ECI 两种算力。Pod 被调度到虚拟节点时,您需要在创建Pod时通过Label( alibabacloud.com/acs: "true"
)手动指定使用ACS算力,并配置使用的计算类型和算力质量。
如需切换为 ECI 算力,请参见使用ECI资源。
计费说明
使用 ACS CPU 算力资源采用按量付费,请参见计费说明。
前提条件
已在集群中部署Knative,请参见部署与管理Knative组件。
已在集群中安装v2.13.0 及以上版本的ACK Virtual Node。
如需升级组件,请参见组件。
已开通容器计算服务,请参见首次使用容器计算服务。
操作步骤
您可以在 Knative Service的 Pod 模板中添加标签,以声明使用 ACS 算力。
参见以下YAML配置 Knative 服务,通过在
metadata.labels
中添加Labelalibabacloud.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
)。
部署 Knative Service。
kubectl apply -f service.yaml
查看 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使用的资源规格 ...