本文介绍如何使用ECI 本地盘实例,以及使用本地盘实例的一些限制。

关于本地盘的详细介绍请参见本地盘

本地盘实例规格

ECI支持通过指定ECS 本地盘规格进行本地盘实例的创建,支持的ECS 本地盘规格族包括:

  • 大数据型实例规格族d1,例如:ecs.d1.2xlarge。
  • 大数据网络增强型实例规格族d1ne,例如:ecs.d1ne.2xlarge。
  • 本地SSD型实例规格族i1,例如:ecs.i1.xlarge。
  • 本地SSD型实例规格族i2,例如:ecs.i2.xlarge。
  • 本地SSD型实例规格族i2g,例如:ecs.i2g.2xlarge。

完整的ECS规格定义,请参见实例规格族

Kubernetes方式

Pod声明中增加annotations: k8s.aliyun.com/eci-use-specs。

  • 在Pod metadata中添加指定规格的annotations。
  • 本地盘的生命周期与它所挂载的本地盘实例相同,因此不支持PV的方式,可以采用FlexVolume的方式挂载: driver: "alicloud/local-disk"。
apiVersion: apps/v1
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"  #根据需要替换 本地盘实例 规格
    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 API已经有介绍, 对于本地盘实例的支持,需要在请求参数中增加一项。

请求参数中增加:

名称 类型 是否必须 描述
InstanceType String 实例规格

Volume中增加:

名称 类型 是否必须 描述
Name String 存储卷名称。
Type String 存储卷类型,FlexVolume。
FlexVolume.FsType String 支持可选值为:ext4、ext3、xfs。
FlexVolume.Driver String alicloud/local-disk
说明 其中 FlexVolume.Driver 的值为 alicloud/local-disk,不能为其他值。
注意 1、本地盘的规格以及数量完全依赖您输入的实例规格类型:InstanceType,当声明的本地盘Volume数量超过该规格所支持的最大磁盘数量的时候,CreateContainerGroup请求会返回错误。

2、当有多块本地盘时,盘的规格完全一样,因此不需要考虑挂载次序问题。

3、本地盘来自于单台物理机,存在单点故障风险,详细参考:本地盘使用说明