All Products
Search
Document Center

Container Service for Kubernetes:Run workflows on a specified type of ECS instances

Last Updated:Dec 18, 2023

Applications may have custom requirements on instance types, such as GPU capabilities, enhanced network capabilities, high clock speed, local storage, and AMD models. Workflow clusters allow you to run workflows on a specified type of Elastic Compute Service (ECS) instances. This topic describes how to run workflows on a specified type of ECS instances.

Table of contents

Supported ECS instance types

Supported GPU-accelerated ECS instance types

The GPU driver version supported by GPU-accelerated elastic container instances is NVIDIA 460.73.01. The CUDA Toolkit version supported by GPU-accelerated elastic container instances is 11.2. For more information about CUDA Toolkit, see NVIDIA CUDA.

You can create elastic container instances on GPU-accelerated ECS instances. You can run workflows on the following GPU-accelerated ECS instance types:

  • gn6v, a GPU-accelerated compute-optimized instance family that uses NVIDIA V100 GPUs. This instance family includes a variety of instance types, such as ecs.gn6v-c8g1.2xlarge.

  • gn6i, a GPU-accelerated compute-optimized instance family that uses NVIDIA T4 GPUs. This instance family includes a variety of instance types, such as ecs.gn6i-c4g1.xlarge.

  • gn5, GPU-accelerated compute-optimized instance family that uses NVIDIA P100 GPUs. This instance family includes a variety of instance types, such as ecs.gn5-c4g1.xlarge.

  • gn5i, GPU-accelerated compute-optimized instance family that uses NVIDIA P4 GPUs. This instance family includes a variety of instance types, such as ecs.gn5i-c2g1.large.

For more information about GPU-accelerated ECS instance types, see Instance families.

Supported AMD-based ECS instance types

You can create AMD-based elastic container instances on AMD-based ECS instances. AMD-based elastic container instances are powered by AMD EPYCTM ROME processors. These instances offload a large number of virtualization features to dedicated hardware with the use of the SHENLONG architecture to provide predictable and consistent ultra-high performance and reduce virtualization overheads. AMD-based elastic container instances are suitable for the following scenarios: video encoding and decoding, web frontend servers, frontend servers of large multiplayer online (MMO) games, scenarios where large numbers of packets are received and transmitted, and scenarios where applications such as DevOps applications are developed and tested.

You can run workflows on the following AMD-based ECS instance types:

  • g7a and g6a, general-purpose instance families. These instance families include a variety of instance types, such as ecs.g7a.large and ecs.g6a.large.

  • c7a and c6a, compute-optimized instance families. These instance families include a variety of instance types, such as ecs.c7a.large and ecs.c6a.large.

  • r7a and r6a, memory-optimized instance families. These instance families include a variety of instance types, such as ecs.r7a.large and ecs.r6a.large.

For more information about AMD-based ECS instance types, see Instance families.

Examples

You can add the annotations: k8s.aliyun.com/eci-use-specs annotation to pod metadata to specify GPU-accelerate ECS instance types and AMD-based ECS instance types. The following sample code provides an example:

Examples of GPU-accelerated ECS instances

apiVersion: argoproj.io/v1alpha1
kind: Workflow                 
metadata:
  generateName: hello-world-    
spec:
  entrypoint: whalesay         
  templates:
    - name: whalesay              
      metadata:
        annotations:
          k8s.aliyun.com/eci-use-specs: ecs.gn5i-c4g1.xlarge # Specify a GPU-accelerated ECS instance type. 
      container:
        image: docker/whalesay
        command: [ cowsay ]
        args: [ "hello world" ]

Examples of AMD-based ECS instances

apiVersion: argoproj.io/v1alpha1
kind: Workflow                
metadata:
  generateName: hello-world-    
spec:
  entrypoint: whalesay          
  templates:
    - name: whalesay             
      metadata:
        annotations:
          k8s.aliyun.com/eci-use-specs: "ecs.c6a.xlarge"  # Specify an AMD-based ECS instance type. 
      container:
        image: docker/whalesay
        command: [ cowsay ]
        args: [ "hello world" ]