当伸缩组类型为ECI时,您可以参考本文为伸缩组创建伸缩配置,用来指定弹性扩张时ECI实例使用的模板。当触发弹性扩张活动后,弹性伸缩将以该伸缩配置为模板自动创建ECI实例。支持通过表单和YAML文件两种方式创建ECI伸缩配置。
操作步骤
阿里云提供多种创建ECI伸缩组伸缩配置的方式。您可以根据您的实际情况,参考以下方式创建伸缩配置。
方式一:通过表单方式创建伸缩配置
进入创建伸缩配置页面。
登录弹性伸缩控制台。
在左侧导航栏中,单击伸缩组管理。
在顶部菜单栏处,选择地域。
在伸缩组管理页,找到待操作伸缩组,在操作列下单击查看详情按钮,进入伸缩组详细页面。
单击实例配置来源页签,在伸缩配置页签下,单击创建伸缩配置按钮,进入创建伸缩配置页面。
在创建伸缩配置页面,单击通过表单创建页签,根据页面提示完成基础配置。单击下一步: 其他设置按钮。
具体配置项说明,请参见基础配置。
(可选)完成其他设置。
具体配置项说明,请参见其他设置。
单击配置确认按钮,检查配置无误后单击确认创建按钮。
(可选)启用伸缩配置。
在您单击确认创建按钮后,会弹出伸缩配置建立成功对话框,您可以单击启用配置立即启用该伸缩配置。
说明 如果您暂时不期望配置生效,您也可以稍后在伸缩配置列表,启用伸缩配置,具体操作,请参见选用/启用伸缩配置。
方式二:通过Kubernetes YAML文件方式创建伸缩配置
控制台创建
进入创建伸缩配置页面。
登录弹性伸缩控制台。
在左侧导航栏中,单击伸缩组管理。
在顶部菜单栏处,选择地域。
在伸缩组管理页,找到待操作伸缩组,在操作列下单击查看详情按钮,进入伸缩组详细页面。
单击实例配置来源页签,在伸缩配置页签下,单击创建伸缩配置按钮,进入创建伸缩配置页面。
在创建伸缩配置页,单击通过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个交换机。 | vsw-bp******1,vsw-bp******2,vsw-bp******3 |
k8s.aliyun.com/eci-security-group: sg-bp****** | 安全组ID,支持配置同一VPC下的多个安全组,最多支持5个安全组。 | 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 |
单击创建按钮,确认信息后单击确认创建按钮完成伸缩配置的创建。
(可选)启用伸缩配置。
在您单击确认创建按钮后,会弹出选用伸缩配置对话框,您可以单击确定按钮立即使该伸缩配置生效。
说明 如果您暂时不期望配置生效,您也可以稍后在伸缩配置列表,启用伸缩配置,具体操作,请参见选用/启用伸缩配置。
阿里云CLI(命令行)
您可以通过阿里云CLI使用命令行管理伸缩配置。以使用Nginx:latest镜像为例,通过阿里云CLI使用YAML文件创建ECI伸缩配置的步骤如下。
重要 在操作前,请确保您已安装阿里云CLI,并为阿里云CLI配置凭证和环境变量。具体操作,请参见什么是阿里云CLI。
创建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个交换机。 | vsw-bp******1,vsw-bp******2,vsw-bp******3 |
k8s.aliyun.com/eci-security-group: sg-bp****** | 安全组ID,支持配置同一VPC下的多个安全组,最多支持5个安全组。 | 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 |
在create-ess-config.yaml同级目录下,执行如下命令完成伸缩配置的创建。
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实例增加存储卷,您可以在高级设置中,按照您的需求配置。具体配置说明,请参见数据卷概述。 | |
容器配置 | 您可以在该配置项中配置容器组中容器的镜像,包括增加多个容器,为容器配置镜像以及选择版本、镜像拉取策略、镜像启动命令等信息。 您也可以在高级配置中指定该容器所占用的资源大小、配置环境变量、存储等配置。 | |
其他设置
配置项 | 说明 | 相关文档 |
弹性公网IP | 启用该选项后,新创建的ECI实例将自动绑定弹性公网IP,提供公网服务 | 为ECI实例配置公网连接 |
镜像仓库访问凭证 | 当容器使用的是私有镜像仓库的镜像时,需要配置该项,来允许系统从镜像仓库中拉取镜像。 | 无 |
实例RAM角色 | 如果您的伸缩组中的ECI实例需要访问其他云资源时,需要配置伸缩组中ECI实例所使用的RAM角色,您可以为该角色单独授权,控制伸缩组中创建的ECI访问其他云资源的权限。 | 为ECI Pod绑定RAM角色 |
标签 | 配置标签后,新扩展的ECI实例都会绑定此标签。您可以使用标签更加细致的管理ECI实例。 | 使用标签管理ECI实例 |
资源组 | 配置资源组后,新扩展的ECI实例都会在这个资源组下创建。您可以通过资源组控制RMA用户的权限。 | 通过资源组实现RAM用户鉴权 |
伸缩组配置名称 | 用于指定伸缩配置的名称。如不填写,默认与伸缩配置ID相同。 | 无 |