全部产品
云市场

ECS 预留实例券

更新时间:2019-08-22 17:44:44

准备工作

ECI 支持使用 ECS 预留实例券,要求在创建 ECI 时,指定对应的 ECS 规格。您使用托管版容器服务并使用 virtual-kubelet 节点,或者使用 Serverless 版容器服务时,可以通过指定 ECS 规格,创建 Pod,在购买了指定规格的 ECS 预留实例券时,会扣减预留实例券资源,不再进行按量单价的计费,非常适合长时间运行的在线业务常驻 Pod。

k8s

预留实例券根据规则匹配按量 ECI 实例,具体匹配描述请参考 预留实例券匹配规则

根据指定实例规格 创建 Pod(ECI实例)

预留实例券仅支持根据 指定 ECS 实例规格 创建 ECI 实例。

  • 进入容器服务应用菜单,比如无状态,创建应用

k8s

  • 点击右上角,使用模板创建

k8s

k8s

  • 只要在pod模板里加入以下注解即可(这里预留实例券购买的是ecs.c5.large实例)

注意 annotations 是加在 Pod 描述上,并根据实际需求填写 ECS 规格,ECS 规格列表可以参考 ECS 实例规格列表

  1. annotations:
  2. k8s.aliyun.com/eci-instance-type : "ecs.c5.large" #根据需要替换 ECS 规格 ecs.规格族.规格大小,例如:(ecs.c6.3xlarge)

Pod Yaml文件

  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. labels:
  5. name: hello-pod
  6. name: hello-pod
  7. annotations:
  8. k8s.aliyun.com/eci-instance-type : "ecs.c5.large" #根据需要替换 ECS 规格
  9. spec:
  10. # serviceAccountName: user1 # specify specific sevice account for pod creation
  11. # automountServiceAccountToken: true # mount token for api access inside pod/container
  12. # imagePullSecrets: #Comment out to enable specific image pull secret
  13. # - name: myregistrykey # repleace it to specific registry key
  14. containers:
  15. - image: nginx
  16. imagePullPolicy: IfNotPresent
  17. name: hello-pod
  18. ports:
  19. - containerPort: 8080
  20. protocol: TCP
  21. resources: {}
  22. securityContext:
  23. capabilities: {}
  24. privileged: false
  25. terminationMessagePath: /dev/termination-log
  26. dnsPolicy: ClusterFirst
  27. restartPolicy: Always
  28. # nodeSelector:
  29. # env: test-team
  30. status: {}

Deployment Yaml文件

需要注意 annotations 添加的位置,需要添加到 Pod 的 metadata 中

  1. apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
  2. kind: Deployment
  3. metadata:
  4. name: nginx-deployment-basic
  5. labels:
  6. app: nginx
  7. spec:
  8. replicas: 2
  9. selector:
  10. matchLabels:
  11. app: nginx
  12. template:
  13. metadata:
  14. labels:
  15. app: nginx
  16. annotations:
  17. k8s.aliyun.com/eci-instance-type : "ecs.c5.large" #根据需要替换 ECS 规格
  18. spec:
  19. # nodeSelector:
  20. # env: test-team
  21. containers:
  22. - name: nginx
  23. image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
  24. ports:
  25. - containerPort: 80

查看创建的容器组

k8s

另外也可以在 ECI 控制台上看到刚刚创建的实例

预留实例券(如果是可用区级别的)所在可用区应该与 Kubernetes 集群所在可用区一致,否则 serverless k8s 创建出来的 ECI 实例并不会使用预留实例券。

查看计费信息、查看预留实例券抵扣信息、查看预留实例券账单

参考 ECI 实例使用预留实例券