全部产品
Search
文档中心

弹性伸缩:为ECI伸缩组创建伸缩配置

更新时间:Sep 30, 2024

当伸缩组类型为ECI时,您可以参考本文为伸缩组创建伸缩配置,用来指定弹性扩张时ECI实例使用的模板。当触发弹性扩张活动后,弹性伸缩将以该伸缩配置为模板自动创建ECI实例。支持通过表单和YAML文件两种方式创建ECI伸缩配置。

前提条件

  • 已创建ECI类型的伸缩组。具体操作,请参见配置伸缩组

  • 已创建安全组。如果伸缩组的网络类型是专有网络,请确保安全组和伸缩组在同一专有网络下。具体操作,请参见创建安全组

操作步骤

阿里云提供多种创建ECI伸缩组伸缩配置的方式。您可以根据您的实际情况,参考以下方式创建伸缩配置。

方式一:通过表单方式创建伸缩配置

  1. 进入创建伸缩配置页面。

    1. 登录弹性伸缩控制台

    2. 在左侧导航栏中,单击伸缩组管理

    3. 在顶部菜单栏处,选择地域。

    4. 伸缩组管理页,找到待操作伸缩组,在操作列下单击查看详情按钮,进入伸缩组详细页面。

    5. 单击实例配置来源页签,在伸缩配置页签下,单击创建伸缩配置按钮,进入创建伸缩配置页面。

  2. 创建伸缩配置页面,单击通过表单创建页签,根据页面提示完成基础配置。单击下一步: 其他设置按钮。

    具体配置项说明,请参见基础配置

  3. (可选)完成其他设置。

    具体配置项说明,请参见其他设置

  4. 单击配置确认按钮,检查配置无误后单击确认创建按钮。

  5. (可选)启用伸缩配置。

    在您单击确认创建按钮后,会弹出伸缩配置建立成功对话框,您可以单击启用配置立即启用该伸缩配置。

    说明

    如果您暂时不期望配置生效,您也可以稍后在伸缩配置列表,启用伸缩配置,具体操作,请参见选用/启用伸缩配置

方式二:通过Kubernetes YAML文件方式创建伸缩配置

控制台创建

  1. 进入创建伸缩配置页面。

    1. 登录弹性伸缩控制台

    2. 在左侧导航栏中,单击伸缩组管理

    3. 在顶部菜单栏处,选择地域。

    4. 伸缩组管理页,找到待操作伸缩组,在操作列下单击查看详情按钮,进入伸缩组详细页面。

    5. 单击实例配置来源页签,在伸缩配置页签下,单击创建伸缩配置按钮,进入创建伸缩配置页面。

  2. 创建伸缩配置页,单击通过YAML创建页签。完成YAML文件的编写。

    您可以参考以下示例完成YAML文件的编写。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        # 伸缩配置名称
        k8s.aliyun.com/ess-eci-scaling-configuration-name: create-ess-config-by-yaml
    spec:
      # 伸缩组期望实例数
      template:
        metadata:
          labels:
              app: nginx-demo
          annotations:
            # 交换机ID,支持配置同一VPC下的至多8个交换机,使用逗号隔开
            k8s.aliyun.com/eci-vswitch: vsw-bp******1,vsw-bp******2,vsw-bp******3,vsw-bp******4
            # 安全组ID,支持配置同一VPC下的至多5个安全组,使用逗号隔开
            k8s.aliyun.com/eci-security-group: sg-bp******1,sg-bp******2
            # 是否自动创建并绑定EIP
            k8s.aliyun.com/eci-with-eip: 'true'
            # 指定ECI实例规格
            k8s.aliyun.com/eci-use-specs: 1.0-2.0Gi
            # EIP带宽
            k8s.aliyun.com/eip-bandwidth: '5'
        spec:
          containers:
            - name: nginx
              # 镜像
              image: nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 2Gi
                  cpu: '2'

    此YAML文件参数说明如下。更多支持参数的说明,请参见YAML配置项说明

    实例YAML配置项说明

    参数

    说明

    示例

    k8s.aliyun.com/ess-eci-scaling-configuration-name

    伸缩配置名称。

    create-ess-config-by-yaml

    k8s.aliyun.com/eci-vswitch

    交换机ID,支持配置同一VPC下的多个交换机,通过逗号隔开,最多支持8个交换机。

    重要

    不指定专有网络和交换机时,ESS会使用或创建默认专有网络与交换机,默认专有网络和交换机

    vsw-bp******1,vsw-bp******2,vsw-bp******3

    k8s.aliyun.com/eci-security-group: sg-bp******

    安全组ID,支持配置同一VPC下的多个安全组,最多支持5个安全组。

    重要

    安全组需和交换机在同一VPC下。

    sg-bp******1,sg-bp******2

    k8s.aliyun.com/eci-with-eip

    是否自动分配EIP,true代表自动分配EIP。

    true

    k8s.aliyun.com/eci-use-specs

    指定ECI实例规格,支持指定多种规格,包括指定vCPU和内存,或者ECS规格。

    1.0-1.0Gi

    k8s.aliyun.com/eip-bandwidth

    设置EIP带宽。单位为Mbps。默认为5 Mbps。

    5

  3. 单击创建按钮,确认信息后单击确认创建按钮完成伸缩配置的创建。

  4. (可选)启用伸缩配置。

    在您单击确认创建按钮后,会弹出选用伸缩配置对话框,您可以单击确定按钮立即使该伸缩配置生效。

    说明

    如果您暂时不期望配置生效,您也可以稍后在伸缩配置列表,启用伸缩配置,具体操作,请参见选用/启用伸缩配置

阿里云CLI(命令行)

您可以通过阿里云CLI使用命令行管理伸缩配置。以使用Nginx:latest镜像为例,通过阿里云CLI使用YAML文件创建ECI伸缩配置的步骤如下。

重要

在操作前,请确保您已安装阿里云CLI,并为阿里云CLI配置凭证和环境变量。具体操作,请参见什么是阿里云CLI

  1. 创建create-ess-config.yaml文件。

    您可以参考以下示例完成YAML文件的编写。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        # 伸缩配置名称
        k8s.aliyun.com/ess-eci-scaling-configuration-name: create-ess-config-by-yaml
    spec:
      # 伸缩组期望实例数
      template:
        metadata:
          labels:
              app: nginx-demo
          annotations:
            # 交换机ID,支持配置同一VPC下的至多8个交换机,使用逗号隔开
            k8s.aliyun.com/eci-vswitch: vsw-bp******1,vsw-bp******2,vsw-bp******3,vsw-bp******4
            # 安全组ID,支持配置同一VPC下的至多5个安全组,使用逗号隔开
            k8s.aliyun.com/eci-security-group: sg-bp******1,sg-bp******2
            # 是否自动创建并绑定EIP
            k8s.aliyun.com/eci-with-eip: 'true'
            # 指定ECI实例规格
            k8s.aliyun.com/eci-use-specs: 1.0-2.0Gi
            # EIP带宽
            k8s.aliyun.com/eip-bandwidth: '5'
        spec:
          containers:
            - name: nginx
              # 镜像
              image: nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 2Gi
                  cpu: '2'

    此YAML文件参数说明如下。更多支持参数的说明,请参见YAML配置项说明

    实例YAML配置项说明

    参数

    说明

    示例

    k8s.aliyun.com/ess-eci-scaling-configuration-name

    伸缩配置名称。

    create-ess-config-by-yaml

    k8s.aliyun.com/eci-vswitch

    交换机ID,支持配置同一VPC下的多个交换机,通过逗号隔开,最多支持8个交换机。

    重要

    不指定专有网络和交换机时,ESS会使用或创建默认专有网络与交换机,默认专有网络和交换机

    vsw-bp******1,vsw-bp******2,vsw-bp******3

    k8s.aliyun.com/eci-security-group: sg-bp******

    安全组ID,支持配置同一VPC下的多个安全组,最多支持5个安全组。

    重要

    安全组需和交换机在同一VPC下。

    sg-bp******1,sg-bp******2

    k8s.aliyun.com/eci-with-eip

    是否自动分配EIP,true代表自动分配EIP。

    true

    k8s.aliyun.com/eci-use-specs

    指定ECI实例规格,支持指定多种规格,包括指定vCPU和内存,或者ECS规格。

    1.0-1.0Gi

    k8s.aliyun.com/eip-bandwidth

    设置EIP带宽。单位为Mbps。默认为5 Mbps。

    5

  2. 在create-ess-config.yaml同级目录下,执行如下命令完成伸缩配置的创建。

    重要

    请根据您的需求,修改以下两个参数。

    • --RegionId修改为您伸缩组所在地域的ID。本示例以cn-hangzhou为例。

    • --ScalingGroupId修改为您的伸缩组ID。本示例以asg-bp******v为例。

    aliyun ess ApplyEciScalingConfiguration --RegionId cn-hangzhou --ScalingGroupId asg-bp******v --Content "$(cat create-ess-config.yaml)" --version 2022-02-22 --method POST --force

配置项说明

基础配置

配置项

说明

相关文档

付费模式

选择您伸缩组中实例的付费模式,在设定好付费模式后,新创建的实例将按照该模式计费。配置项说明如下:

  • 按量付费:按需开通和释放资源,先使用后付费,无需提前购买大量资源。

  • 抢占式实例:抢占式实例的价格随供需变化而浮动。抢占式实例相对于按量付费实例在价格上有一定折扣,但可能被自动回收,合理使用可以大量降低成本。

计费概述

配置信息

ECI实例所属的地域、VPC和交换机,由系统自动填充,与伸缩组一致。

安全组

在配置安全组后,新扩展的实例将自动加入该安全组。

创建安全组

容器组配置

您可以在该配置项中,配置ECI实例的规格类型,支持两种模式:

  • 基础模式

    此模式可直接指定创建ECI实例所占用的资源大小,包括vCPU、内存以及开启镜像缓存功能和成本优化等功能。

  • 指定规格

    如果您的业务有特殊的规格需求,例如GPU等,您可以指定特定的ECS规格创建ECI实例。更多信息,请参见指定ECS规格创建实例

如果您需要为ECI实例增加存储卷,您可以在高级设置中,按照您的需求配置。具体配置说明,请参见数据卷概述

容器配置

您可以在该配置项中配置容器组中容器的镜像,包括增加多个容器,为容器配置镜像以及选择版本、镜像拉取策略、镜像启动命令等信息。

您也可以在高级配置中指定该容器所占用的资源大小、配置环境变量、存储等配置。

其他设置

配置项

说明

相关文档

弹性公网IP

启用该选项后,新创建的ECI实例将自动绑定弹性公网IP,提供公网服务

为ECI实例配置公网连接

镜像仓库访问凭证

当容器使用的是私有镜像仓库的镜像时,需要配置该项,来允许系统从镜像仓库中拉取镜像。

实例RAM角色

如果您的伸缩组中的ECI实例需要访问其他云资源时,需要配置伸缩组中ECI实例所使用的RAM角色,您可以为该角色单独授权,控制伸缩组中创建的ECI访问其他云资源的权限。

为ECI Pod绑定RAM角色

标签

配置标签后,新扩展的ECI实例都会绑定此标签。您可以使用标签更加细致的管理ECI实例。

使用标签管理ECI实例

资源组

配置资源组后,新扩展的ECI实例都会在这个资源组下创建。您可以通过资源组控制RMA用户的权限。

通过资源组实现RAM用户鉴权

伸缩组配置名称

用于指定伸缩配置的名称。如不填写,默认与伸缩配置ID相同。

相关文档