阿里云首页 弹性容器实例

多规格创建实例

在大规模创建实例的场景下,可能会遇到库存不足的情况,在采用多可用区创建提升创建成功率的同时,您还可以给对应的Pod配置多种实例规格,保证ECI实例创建的成功率。

背景信息

系统支持指定ECS规格来创建ECI实例,在创建过程中,如果因为遇到库存不足导致创建失败时,系统会根据ECI Pod Annotation中的k8s.aliyun.com/eci-use-specs配置的自动顺序依次重试创建实例。在重试创建过程中,Pod会一直处于Pending状态。建议您指定多个规格来提升实例创建的成功率。

说明

多规格方式是Pod级别,仅影响单个Pod的创建策略。

您可以配合使用多可用区和多规格的方式来创建实例,提高实例的创建成功率。关于如何使用多可用区方式,请参见多可用区创建实例

Kubernetes方式

您可以在Pod metadata中添加Annotation来指定ECS规格。配置时请根据想要使用实例规格的优先级,按顺序设置多个规格。示例如下:

apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment-basic
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
      annotations:
        k8s.aliyun.com/eci-use-specs: ecs.c5.large,ecs.c6.large,ecs.sn1ne.large,ecs.g5.large  #根据需要替换您想要使用的ECS规格
    spec:
    #  nodeSelector:
    #    env: test-team
      containers:
      - name: nginx
        image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
        ports:
        - containerPort: 80
      nodeName: virtual-kubelet
  #ACK场景下可以通过指定虚拟节点名称调度到ECI

OpenAPI方式

调用CreateContainerGroup接口创建ECI实例时,您可以通过InstanceType参数来指定规格。InstanceType的参数说明如下表所示。更多信息,请参见CreateContainerGroup

名称

类型

是否必选

示例值

描述

InstanceType

String

ecs.c5.xlarge,ecs.g5.xlarge

指定ECS实例规格。支持指定多个规格(单次最多5个),各规格之间用半角逗号(,)进行分隔。例如:ecs.c5.xlarge,ecs.g5.xlarge。

说明

建议您配合使用多可用区和多规格方式来创建实例,通过VSwitchId参数来指定多可用区,通过InstanceType参数来指定多规格。