指定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

阿里云首页 弹性容器实例 相关技术圈