挂载本地盘

本地盘是实例所在物理机上的本地硬盘设备,具有低时延、高随机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规格的详细信息,请参见:

配置示例

  1. 准备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
  2. 部署Deployment。

    kubectl create -f localdis.yaml
  3. 查看结果。

    创建完成后查看Pod信息,可以看到本地盘已生成RAID 0(/dev/md0),且已挂载到指定的/localdisk-test路径。

    本地盘-k8s