本文列举了ECI支持的算力规格,并汇总了创建ECI Pod的多种方式,您可以根据业务需求选择合适的创建方式,在创建出满足规格需求的ECI Pod的同时,保证创建成功率并降低资源使用成本。
指定规格创建示例
一般场景下,如果没有指定算力类别、指定ECS规格族或规格代数、指定Arm规格等高阶功能需求,您可以在Pod metadata添加k8s.aliyun.com/eci-use-specs
的Annotation来指定ECI Pod的规格。
Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec.template.metadata
下。
指定多规格时,可以指定vCPU和内存规格,也可以指定ECS规格,支持同时指定两者。
您可以在Pod创建成功后查看其YAML详情,通过
k8s.aliyun.com/eci-instance-spec
字段确认Pod实际使用的规格。如果是ECS规格,则按ECS规格计费;如果是具体的vCPU和内存数值,则按vCPU和内存计费。请根据想要使用规格的优先级,按顺序设置多个规格(单次最多5个)。
对于GPU、本地盘、ARM等除了指定规格外还需要额外配置其他参数的规格,指定多规格时只能指定同类型的规格,无法和其他规格同时指定。
示例一:指定GPU规格
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-use-specs: "ecs.gn6i-c4g1.xlarge,ecs.gn6i-c8g1.2xlarge" # 指定支持的ECS GPU规格,单次最多5个。
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
resources:
limits:
nvidia.com/gpu: "1" # nginx容器所需的GPU个数,共享使用。
ports:
- containerPort: 80
- name: busybox
image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
command: ["sleep"]
args: ["999999"]
resources:
limits:
nvidia.com/gpu: "1" # busybox容器所需的GPU个数,共享使用。
示例二:同时指定两类规格
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-use-specs: 2-4Gi,ecs.c5.large,ecs.c6.large #根据需要替换您想要使用的规格
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
ECI算力规格
更多教程
创建方式概述
根据业务场景和使用场景,ECI Pod支持不同的创建方式,对应到不同的计费模式。更多关于ECI Pod的计费信息,请参见ECI实例计费。
创建方式 | 计费模式 | 说明 | 相关文档 |
创建方式 | 计费模式 | 说明 | 相关文档 |
指定vCPU和内存 | 按vCPU和内存 | 根据您创建时指定的vCPU和内存进行计费。在此基础上,如果您对成本或者性能有更多要求,可以进一步指定算力类别。对于不满足ECI要求的vCPU和内存规格,系统将自动进行规整,并按自动规整后的规格进行计费。 | |
指定ECS规格 | 按ECS规格 | 根据您创建时指定的ECS规格进行计费。您可以根据业务需要,指定ECI Pod底层使用具体的某一ECS规格,来获取相应规格的指定能力,例如:指定使用ecs.gn6i-c4g1.xlarge规格来获取GPU能力。 | |
指定vCPU和内存的同时设置ECS规格族或规格代数进行过滤 | 按ECS规格 | 根据您创建时指定的vCPU和内存,以及关于规格族或者规格代数的过滤条件,系统会自动选择合适的ECS规格,并按实际生成的ECS规格进行计费。 |
ECI Pod的CPU架构默认为x86,但也支持Arm架构。关于如何创建Arm架构的ECI Pod,请参见调度Pod到Arm架构的虚拟节点。
优化使用成本
根据您的业务特征,在按量付费使用ECI的基础上,您还可以结合使用抢占式实例、预留实例券和节省计划来降低资源使用成本。
应对库存不足
ECI提供容器的云上运行资源,在大规模创建ECI Pod的场景下,您所在地域和可用区可能会存在指定资源售罄的情况,建议您使用多可用区和多规格的方式创建资源,保证创建成功率。具体操作,请参见:
- 本页导读 (1)
- 指定规格创建示例
- ECI算力规格
- 更多教程
- 创建方式概述
- 优化使用成本
- 应对库存不足