在大规模创建实例的场景下,可能会遇到库存不足的情况,在采用多可用区创建提升创建成功率的同时,您还可以给对应的Pod配置多种实例规格,保证ECI实例创建的成功率。
背景信息
系统支持指定ECS规格来创建ECI实例,在创建过程中,如果因为遇到库存不足导致创建失败时,系统会根据ECI Pod Annotation
的k8s.aliyun.com/eci-use-specs
中配置的自动顺序依次重试创建实例。在重试创建过程中,Pod会一直处于Pending状态。建议您指定多个规格来提升实例创建的成功率。
多规格方式是Pod级别,仅影响单个Pod的创建策略。
您可以配合使用多可用区和多规格的方式来创建实例,提高实例的创建成功率。关于如何使用多可用区方式,请参见多可用区创建实例。
Kubernetes方式
您可以在yaml中添加annotations来指定ECS规格。annotations需添加在spec>template>metadata下。配置时请根据计划使用实例规格的优先级,按顺序设置多个规格。
示例如下:
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参数来指定多规格。
在文档使用中是否遇到以下问题
更多建议
匿名提交