指定ECS规格创建Pod
在一些业务场景下,如果业务需要有特殊的规格需求,例如:GPU、增强网络能力、高主频、本地盘等,您可以指定特定的ECS规格来创建ECI Pod(即ECI实例)。
规格说明
指定ECS规格创建ECI实例时,计算资源的费用按ECS规格进行计算。目前支持的ECS实例规格族如下:
企业级x86计算规格族
通用型:g7a、g7、g6e、g6a、g6、g5、sn2ne
计算型:c7a、c7、c6e、c6a、c6、c5、sn1ne
内存型:r7a、r7、r6e、r6a、r6、r5、se1ne、se1
密集计算型:ic5
高主频计算型:hfc7、hfc6、hfc5
高主频通用型:hfg7、hfg6、hfg5
高主频内存型:hfr7
大数据网络增强型:d1ne
本地SSD型:i2、i2g
企业级异构计算规格族
GPU计算型:gn7e、gn7i、gn7、gn6i、gn6e、gn6v、gn5i、gn5
GPU虚拟化型:vgn7i-vws、sgn7i-vws、vgn6i-vws
企业级ARM计算规格族
通用型:g8y
计算型:c8y
内存型:r8y
ARM实例规格目前仅在以下地域可用区开放:
华东1(杭州):可用区J、K
华东2(上海):可用区M、N
华北2(北京):可用区I、L
华南1(深圳):可用区F
共享型x86计算规格族
突发性能型:t6、t5
共享型:s6、xn4、n4、mn4、e4
如果使用突发性能型实例规格(t6、t5),请注意以下事项:
突发性能实例是一种通过CPU积分来保证计算性能的实例规格,适用于平时CPU使用率低,但偶尔有突发高CPU使用率的场景。更多信息,请参见突发性能实例概述。
不支持打开突发性能实例的无性能约束模式。
更多信息,请参见:
配置说明
您可以在Pod metadata中添加Annotation来指定ECS规格。配置示例如下:
指定规格时,支持设置多个规格。配置时请根据想要使用实例规格的优先级,按顺序设置多个规格。更多信息,请参见多规格创建Pod。
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.c6.large,ecs.c5.large #根据需要指定ECS规格
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
示例一:创建GPU实例
ECI支持指定ECS GPU规格来创建GPU实例。GPU对应的Docker镜像可以直接运行在ECI GPU实例上,无需安装Tensorflow、CUDA Toolkit等软件,如tensorflow-gpu 1.13.1、NVDIA CUDA等。
不同GPU规格支持的驱动版本不同,具体如下:
sgn7i-vws和vgn7i-vws支持的驱动版本为NVIDIA 460.91.03,支持的CUDA Tookit版本11.2。
vgn6i-vws支持的驱动版本为NVIDIA 450.102.04,支持的CUDA Tookit版本为11.0。
除上述GPU虚拟化型规格外,其他GPU规格支持的驱动版本为NVIDIA 470.82.01,支持的CUDA Tookit版本为11.4。
支持指定的ECS GPU规格族如下:
GPU虚拟化型实例规格族sgn7i-vws(共享CPU,NVIDIA A10),例如:ecs.sgn7i-vws-m2.xlarge。
GPU虚拟化型实例规格族vgn7i-vws(NVIDIA A10),例如:ecs.vgn7i-vws-m4.xlarge。
GPU虚拟化型实例规格族vgn6i-vws(NVIDIA T4),例如:ecs.vgn6i-m4-vws.xlarge。
GPU计算型实例规格族gn7e(NVIDIA A100),例如:ecs.gn7e-c16g1.4xlarge。
GPU计算型实例规格族gn7i(NVIDIA A10),例如:ecs.gn7i-c8g1.2xlarge。
GPU计算型实例规格族gn7(NVIDIA A100),例如:ecs.gn7-c12g1.3xlarge。
GPU计算型实例规格族gn6v(NVIDIA V100),例如:ecs.gn6v-c8g1.2xlarge。
GPU计算型实例规格族gn6e(NVIDIA V100),例如:ecs.gn6e-c12g1.3xlarge。
GPU计算型实例规格族gn6i(NVIDIA T4),例如:ecs.gn6i-c4g1.xlarge。
GPU计算型实例规格族gn5i(NVIDIA P4),例如:ecs.gn5i-c2g1.large。
GPU计算型实例规格族gn5(NVIDIA P100),例如:ecs.gn5-c4g1.xlarge。
说明gn5配备了本地盘,您可以挂载使用本地盘。
您可以在Pod metadata中添加Annotation来指定GPU规格。指定GPU规格后,需要在Container的resources中添加nvidia.com/gpu
字段声明容器所需的GPU资源。
nvidia.com/gpu
字段值为容器所需的GPU个数,创建GPU Pod时必须明确指定。如果没有指定该值,Pod启动后将会报错。默认情况下,多个容器可以共享使用GPU,配置时需确保单个容器内配置的GPU个数不超过指定的GPU规格所具备的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 GPU规格,该规格具备1个GPU
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个数,共享使用
示例二:创建本地盘实例
ECI支持指定ECS本地盘规格来创建本地盘实例。本地盘是实例所在物理机上的本地硬盘设备,具有本地盘具有低时延、高随机IOPS、高吞吐量和高性价比的优势。但本地盘来自于单台物理机,存在单点故障风险。更多信息,请参见本地盘。
支持指定的ECS本地盘规格族如下:
大数据型实例规格族d1,例如:ecs.d1.2xlarge。
大数据网络增强型实例规格族d1ne,例如:ecs.d1ne.2xlarge。
本地SSD型实例规格族i2,例如:ecs.i2.xlarge。
本地SSD型实例规格族i2g,例如:ecs.i2g.2xlarge。
GPU计算型实例规格族gn5,例如:ecs.gn5-c4g1.xlarge。
说明gn5为GPU规格,除了本地盘相关参数外,您还需要指定GPU相关参数。
您可以在Pod metadata中添加Annotation来指定本地盘规格。挂载本地盘时,通过将EmptyDir Volume的medium设置为LocalRaid0的方式,可以自动把本地盘组成RAID 0,并挂载到指定的路径上。
配置示例如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: localdisk-test
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-use-specs: ecs.i2g.2xlarge #指定支持的ECS本地盘规格
spec:
containers:
- name: nginx
image: registryc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- name: localdisk
mountPath: /localdisk-test
volumes:
- name: localdisk
emptyDir:
medium: LocalRaid0
示例三:创建AMD实例
ECI支持指定ECS AMD规格来创建AMD实例。AMD实例指的是处理器为AMD EPYCTM ROME的实例,该规格的特点为:依托神龙架构,将大量虚拟化功能卸载到专用硬件,降低虚拟化开销,可以提供稳定可预期的超高性能。适用于视频编解码、高网络包收发、Web前端服务器、大型多人在线游戏(MMO)前端、测试开发(DevOps)等场景。
支持指定的ECS AMD规格族如下:
通用型实例规格族g7a、g6a,例如:ecs.g7a.large、ecs.g6a.large。
计算型实例规格族c7a、c6a,例如:ecs.c7a.large、ecs.c6a.large。
内存型实例规格族r7a、r6a,例如:ecs.r7a.large、ecs.r6a.large。
您可以在Pod metadata中添加Annotation来指定AMD规格。配置示例如下:
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.c6a.xlarge #指定支持的ECS AMD规格
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80