如果您的業務有不易提前預測的瞬時波峰,您可以在Knative中使用Elastic Container Instance(Elastic Container Instance)提供的Pod資源,快速應對突發流量,僅需為實際使用的資源付費。
前提條件
已在叢集中部署Knative,請參見部署Knative。
已部署使用ECI資源所需的ack-virtual-node組件,請參見部署ack-virtual-node組件。
操作步驟
建立Knative Service資來源物件,添加標籤
alibabacloud.com/eci=true
,並配置Annotationk8s.aliyun.com/eci-use-specs
用於指定ECI規格,然後執行kubectl apply
命令部署YAML檔案。樣本模板如下。
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go namespace: vk spec: template: metadata: labels: alibabacloud.com/eci: "true" # 添加標籤 annotations: k8s.aliyun.com/eci-use-specs: "2-4Gi" # 指定ECI規格 spec: containers: - env: - name: TARGET value: "Knative" image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
配置完成後,執行以下命令,驗證操作是否成功。
kubectl -n vk get pod -o wide
預期輸出:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES helloworld-go-dqqhv-deployment-6d54c9c8dc-hkjwn 2/2 Running 0 40s 192.XX.0.80 virtual-node-eci-0 <none> <none>
預期輸出表明,已成功建立2個ECI Pod。
相關文檔
使用Knative時,如果您希望在業務流量穩定時段使用ECS節點,而在突發流量時段將應用調度至自動擴容的ECI Pod,請參見在Knative中同時使用ECS和ECI資源。
您可以使用ECI提供的鏡像緩衝功能加速鏡像的拉取,減少執行個體建立耗時,請參見使用鏡像加速。