本文介绍如何创建并使用ECI本地盘实例。
背景信息
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相关参数,更多信息,请参见创建GPU实例。
更多信息,请参见:
Kubernetes方式
您可以在Pod metadata中添加Annotation来指定本地盘规格。配置本地盘时,由于本地盘的生命周期与它所挂载的本地盘实例相同,所以不支持PV的方式挂载,您可以采用FlexVolume的方式进行挂载。
示例如下:
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: nginx-i2
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
annotations:
k8s.aliyun.com/eci-use-specs: ecs.i2.4xlarge #指定支持的ECS本地盘实例
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- name: disk1
mountPath: /data1
- name: disk2
mountPath: /data2
volumes: #挂载本地盘,请确保数量没有超过指定本地盘实例规格包含的本地盘数量。
- name: disk1
flexVolume:
driver: alicloud/local-disk
fsType: ext4
- name: disk2
flexVolume:
driver: alicloud/local-disk
fsType: ext4
OpenAPI方式
调用CreateContainerGroup接口创建ECI实例时,您可以通过InstanceType参数来指定规格,Volume相关参数来挂载本地盘。相关参数说明如下表所示。更多信息,请参见CreateContainerGroup。
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
InstanceType | String | 否 | ecs.gn6v-c8g1.2xlarge | 指定ECS本地盘实例规格。目前支持的本地盘规格族包括:d1、d1ne、i2、i2g、gn5。支持指定多个规格(单次最多5个),各规格之间用半角逗号(,)进行分隔。例如:ecs.d1.2xlarge,ecs.d1ne.2xlarge。 |
Volume.N.Name | String | 否 | disk1 | 数据卷名称。 |
Volume.N.Type | String | 否 | flexvolume | 数据卷类型。 |
Volume.N.FlexVolume.Driver | String | 否 | alicloud/local-disk | 用于FlexVolume的驱动程序名称。需配置为: alicloud/local-disk。 |
Volume.N.FlexVolume.FsType | String | 否 | ext4 | 挂载的文件系统类型,默认取决于FlexVolume的script。 |
创建本地盘实例时,请确保设置的Volume数量没有超过指定本地盘实例规格包含的本地盘数量。
当有多块本地盘时,由于盘的规格完全一样,因此无需考虑挂载次序。
本地盘来自单台物理机,数据可靠性取决于物理机的可靠性,存在单点故障风险。更多信息,请参见本地盘使用注意事项。