本地盘是实例所在物理机上的本地硬盘设备,具有低时延、高随机IOPS、高吞吐量和高性价比的优势。本文介绍如何指定ECS本地盘规格创建ECI Pod,并将本地盘挂载到ECI Pod上。
配置说明
您可以在Pod metadata中添加Annotation(如k8s.aliyun.com/eci-use-specs: ecs.i2g.2xlarge
)来指定本地盘规格。挂载本地盘时,通过将EmptyDir Volume的medium设置为LocalRaid0的方式,可以自动把本地盘组成RAID 0,并挂载到Pod的指定路径上。
Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。
创建ECI Pod时,支持指定的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相关参数。
关于ECS规格的详细信息,请参见:
配置示例
准备YAML文件。
vim localdis.yaml
localdis.yaml的内容示例如下,示例中通过设置
k8s.aliyun.com/eci-use-specs: ecs.i2g.2xlarge
指定ECI Pod的规格为ecs.i2g.2xlarge,该规格带有一块本地盘,可以通过EmptyDir Volume的方式挂载到ECI Pod上。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: registry.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
部署Deployment。
kubectl create -f localdis.yaml
查看结果。
创建完成后查看Pod信息,可以看到本地盘已生成RAID 0(
/dev/md0
),且已挂载到指定的/localdisk-test
路径。