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

工作原理

创建ECI实例时,如果遇到库存不足导致创建失败时,ECI会根据ECI Pod Annotationk8s.aliyun.com/eci-use-specs中配置的自动顺序依次重试创建ECI。在重试创建过程中,Pod状态一直处于Pending状态。

注意 多规格设置是Pod级别,仅影响单个Pod创建策略。

Kubernetes方式

在创建pod时,您可以根据计划使用实例规格的优先级,配置annotation中k8s.aliyun.com/eci-use-specs。

apiVersion: apps/v1beta2 # 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

OpenAPI方式

通过CreateContainerGroup OpenAPI进行实例创建时,可以通过VSwitchId来指定多可用区,通过InstanceType来指定多规格,其他参数的使用请参考CreateContainerGroup使用文档

请求参数:

名称 类型 是否必选 示例值 描述
VSwitchId String vsw-*** 指定虚拟交换机 ID,可以通过“,”进行分隔传入最多10个值,比如“vsw-***,vsw-***”
InstanceType String ecs.c5.xlarge 实例规格,可以通过“,”进行分隔传入最多5个值,比如“ecs.c5.xlarge,ecs.g5.xlarge”

多可用区创建

您可以配合多可用区和多规格创建ECI,极大提升ECI的创建成功率。多可用区创建请参见多可用区创建