All Products
Search
Document Center

Auto Scaling:CreateEciScalingConfiguration

Last Updated:Jan 05, 2023

Creates a scaling configuration for a scaling group that contains elastic container instances.

Operation Description

A scaling configuration is a template that is used to create elastic container instances during scale-out activities.

You can specify the Cpu and Memory parameters to determine the range of instance types. If you specify the parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Auto Scaling preferentially creates elastic container instances of the instance type that is provided at the lowest price. This scaling mode is available only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
ScalingGroupIdstringYes

The ID of the scaling group in which you want to create the scaling configuration.

asg-bp14wlu85wrpchm0****
ScalingConfigurationNamestringYes

The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a letter or a digit.

The name of the scaling configuration must be unique within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.

scalingconfig****
DescriptionstringYes
NoteThis parameter is unavailable.
desc
SecurityGroupIdstringYes

The ID of the security group with which you want to associate the elastic container instance. Elastic container instances that are associated with the same security group can access each other.

If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and the port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the declared container protocols and port numbers to the inbound rules of the security group.

sg-uf66jeqopgqa9hdn****
ContainerGroupNamestringYes

The name of the elastic container instance.

nginx-test
RestartPolicystringNo

The restart policy of the elastic container instance. Valid values:

  • Always: always restarts the elastic container instance.
  • Never: never restarts the elastic container instance.
  • OnFailure: restarts the elastic container instance upon failures.

Default value: Always.

Always
CpunumberNo

The number of vCPUs of the elastic container instance.

1.0
MemorynumberNo

The memory size of the elastic container instance. Unit: GiB.

2.0
ResourceGroupIdstringNo

The ID of the resource group.

rg-uf66jeqopgqa9hdn****
DnsPolicystringNo

The Domain Name System (DNS) policy. Valid values:

  • None: uses the DNS that is set for the DnsConfig field.
  • Default: use the DNS that is set for the runtime environment.
Default
EnableSlsbooleanNo
NoteThis parameter is unavailable.
false
ImageSnapshotIdstringNo

The ID of the image cache.

imc-2zebxkiifuyzzlhl****
RamRoleNamestringNo

The name of the RAM role for the elastic container instance. You can use an instance RAM role to access both elastic container instances and Elastic Compute Service (ECS) instances. For more information, see Use an instance RAM role by calling API operations.

RamTestRole
TerminationGracePeriodSecondslongNo

The buffer time in which the program handles operations before the program is stopped. Unit: seconds.

60
AutoMatchImageCachebooleanNo

Specifies whether to automatically match the image cache. Valid values:

  • true
  • false

Default value: false.

false
Ipv6AddressCountintegerNo

The number of IPv6 addresses.

1
ActiveDeadlineSecondslongNo

The validity period. Unit: seconds.

1000
SpotStrategystringNo

The bidding policy for the elastic container instance. Valid values:

  • NoSpot: The instance is a pay-as-you-go instance.
  • SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.
  • SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.

Default value: NoSpot.

SpotPriceLimit
SpotPriceLimitnumberNo

The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.

If you set the SpotStrategy parameter to SpotWithPriceLimit, you must also specify the SpotPriceLimit parameter.

0.025
AutoCreateEipbooleanNo

Specifies whether to automatically create an elastic IP address (EIP) and bind the EIP to the elastic container instance.

true
EipBandwidthintegerNo

The bandwidth of the EIP. Default value: 5 Mbit/s.

5
HostNamestringNo

The name of the elastic container instance.

test
IngressBandwidthlongNo

The maximum inbound bandwidth. Unit: bit/s.

1024000
EgressBandwidthlongNo

The maximum outbound bandwidth. Unit: bytes.

1024000
CpuOptionsCoreintegerNo

Number of physical CPU cores This parameter is not available for all instance types. For more information, see Specify custom CPU options.

2
CpuOptionsThreadsPerCoreintegerNo

The number of threads per core. This parameter is not available for all instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see Specify custom CPU options.

2
EphemeralStorageintegerNo

The size of the temporary storage space. By default, an ESSD of the PL1 type is used. Unit: GiB.

20
LoadBalancerWeightintegerNo

The weight of the elastic container instance as a backend server. Valid values: 1 to 100.

Default value: 50.

50
TagsarrayNo

The tags of the elastic container instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. When you specify tag keys and tag values, take note of the following items:

  • A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun and cannot contain http:// or https://. You cannot specify an empty string as a tag key.
  • A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun and cannot contain http:// or https://. You can specify an empty string as a tag value.
objectNo

The tags of the elastic container instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. When you specify tag keys and tag values, take note of the following items:

  • A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun, and cannot contain http:// or https://. You cannot specify an empty string as a tag key.
  • A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun, and cannot contain http:// or https://. You can specify an empty string as a tag value.
KeystringNo

The tag key of the elastic container instance. You can specify 1 to 20 tags.

You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain http:// or https://.

version
ValuestringNo

The tag value of the elastic container instance. You can specify 1 to 20 tags.

You can specify an empty string as a tag value. The tag value can be up to 128 characters in length and cannot start with acs:. It cannot contain http:// or https://.

3
ImageRegistryCredentialsarrayNo

Information about the image repository.

objectNo

Information about the image repository.

PasswordstringNo

The password that is used to access the image repository.

yourpaasword
ServerstringNo

The domain name of the image repository.

registry-vpc.cn-shanghai.aliyuncs.com
UserNamestringNo

The username that is used to access the image repository.

yourusername
ContainersarrayNo

The containers in the elastic container instance.

objectNo

The monitoring data of the containers.

ReadinessProbe.TimeoutSecondsintegerNo

The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.

5
ReadinessProbe.SuccessThresholdintegerNo

The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.

1
SecurityContext.Capability.AddarrayNo

The permissions granted to processes in the container.

stringNo

The permission granted to processes in the container. Valid values: NET_ADMIN and NET_RAW.

NoteTo use NET_RAW, you need to submit a ticket.
NET_ADMIN
ReadinessProbe.TcpSocket.PortintegerNo

The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform probes.

8000
ReadinessProbe.HttpGet.SchemestringNo

The protocol type of HTTP GET requests when you use HTTP requests to perform probes. Valid values:

  • HTTP
  • HTTPS
HTTP
LivenessProbe.PeriodSecondsintegerNo

The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.

5
PortsarrayNo

The ports.

objectNo

The ports.

ProtocolstringNo

The type of the protocol. Valid values:

  • TCP
  • UDP
TCP
PortintegerNo

The port number. Valid values: 1 to 65535.

80
SecurityContext.ReadOnlyRootFilesystembooleanNo

Specifies whether the root file system on which the container runs is read-only. Set the value to true.

true
EnvironmentVarsarrayNo

Information about environment variables.

objectNo

Information about environment variables.

KeystringNo

The name of the environment variable. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). The name cannot start with a digit. Specify the name in the [0-9a-zA-Z] format.

PATH
ValuestringNo

The value of the environment variable. The value must be 0 to 256 characters in length.

/usr/local/bin
FieldRefFieldPathstringNo
NoteThis parameter is unavailable.
fieldPath
LivenessProbe.TcpSocket.PortintegerNo

The port detected by TCP sockets when you use TCP sockets to perform probes.

8000
TtybooleanNo

Specifies whether to enable interaction. Valid values:

  • true
  • false

If the value of the Command parameter is /bin/bash, you must set this parameter to true.

Default value: false.

false
WorkingDirstringNo

The working directory of the container.

/usr/local/
LivenessProbe.HttpGet.SchemestringNo

The protocol type of HTTP GET requests when you use HTTP requests to perform probes. Valid values:

  • HTTP
  • HTTPS
HTTP
ReadinessProbe.HttpGet.PortintegerNo

The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.

8080
ArgsarrayNo

The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.

stringNo

The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.

100
GpuintegerNo

The number of GPUs that you want to allocate to the container.

1
ReadinessProbe.InitialDelaySecondsintegerNo

The time period after the container is started and before the probe is initiated. Unit: seconds.

3
StdinbooleanNo

Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur.

Default value: false.

false
MemorynumberNo

The memory size of the container. Unit: GiB.

0.5
NamestringNo

The name of the container image.

nginx
ImagestringNo

The image of the container.

registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest
LivenessProbe.InitialDelaySecondsintegerNo

The time period after the container is started and before the probe is initiated. Unit: seconds.

5
VolumeMountsarrayNo

Information about the volume mount of the container.

objectNo

Information about the volume mount of the container.

MountPropagationstringNo

The mount propagation settings of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:

  • None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.
  • HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.
  • Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.

Default value: None.

None
MountPathstringNo

The directory on which the container mounts the volume.

NoteData in this directory is overwritten by the data on the volume.
/pod/data
ReadOnlybooleanNo

Specifies whether the volume is read-only. Valid values:

  • true
  • false

Default value: false.

false
NamestringNo

The name of the volume. The value of this parameter is the same as the value of the VolumeName parameter.

default-volume1
SubPathstringNo

The subdirectory of the volume.

data2/
LivenessProbe.FailureThresholdintegerNo

The minimum number of consecutive failures for the probe to be considered failed after having been successful.

Default value: 3.

3
ReadinessProbe.Exec.CommandsarrayNo

The commands executed in the container when using the command line to perform the health check.

stringNo

The command.

cat /tmp/healthy
ReadinessProbe.FailureThresholdintegerNo

The minimum number of consecutive failures for the probe to be considered failed after having been successful. Default value: 3.

3
ImagePullPolicystringNo

The image pulling policy. Valid values:

  • Always: pulls images each time.
  • IfNotPresent: pulls images only if no on-premises images are available. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.
  • Never: never pulls images. On-premises images are always used.
Always
StdinOncebooleanNo

Specifies whether to disconnect standard input streams after a client is disconnected.

If you set the StdinOnce parameter to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container is started again.

false
CpunumberNo

The number of CPU cores in the container.

0.25
LivenessProbe.HttpGet.PortintegerNo

The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.

8888
LivenessProbe.HttpGet.PathstringNo

The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.

/healthyz
LivenessProbe.SuccessThresholdintegerNo

The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.

1
ReadinessProbe.PeriodSecondsintegerNo

The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.

3
LivenessProbe.TimeoutSecondsintegerNo

The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.

1
CommandsarrayNo

The commands that you want to run in the container when you use the CLI to perform probes.

stringNo

The command.

sleep
SecurityContext.RunAsUserlongNo

The ID of the user that runs the container.

1000
ReadinessProbe.HttpGet.PathstringNo

The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.

/healthz
LivenessProbe.Exec.CommandsarrayNo

The commands executed in the container when using the command line to perform the health check.

stringNo

The command.

cat /tmp/healthy
VolumesarrayNo

Information about the volumes.

objectNo

Information about the volumes.

TypestringNo

The type of the Host file or path. Examples: File, Directory, and Socket.

ConfigFileVolume
DiskVolume.DiskSizeintegerNo

The storage size of the disk volume. Unit: GiB.

15
NFSVolume.PathstringNo

The path of the NFS volume.

/share
FlexVolume.FsTypestringNo

The type of the mounted file system. By default, the value of this parameter varies based on the script of FlexVolume.

ext4
DiskVolume.FsTypestringNo

The type of the disk volume. We recommend that you specify the FlexVolume.FsType parameter instead of the DiskVolume.FsType parameter.

xfs
HostPathVolume.TypestringNo

The type of host directory. For example: File, Directory, Socket, etc.

Directory
NFSVolume.ReadOnlybooleanNo

Specifies whether the NFS volume is read-only. Valid values:

  • true
  • false

Default value: false.

false
HostPathVolume.PathstringNo

The absolute path to the Host node.

/xx/xx/path
FlexVolume.OptionsstringNo

The FlexVolume objects. Each object is a key-value pair contained in a JSON string.

If you set the Type parameter to FlexVolume, specify objects in the {"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} format.

{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}
FlexVolume.DriverstringNo

The name of the FlexVolume driver.

flexvolume
ConfigFileVolumeDefaultModeintegerNo

The default permissions on the ConfigFile volume.

0644
NFSVolume.ServerstringNo

The endpoint of the NFS server.

3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com
DiskVolume.DiskIdstringNo

The ID of the disk volume.

d-xx
NamestringNo

The name of the volume.

default-volume1
EmptyDirVolume.MediumstringNo

The storage medium when you set the Type parameter to EmptyDirVolume. If you leave this parameter empty, the file system that backs the node is used as the storage medium. If you set this parameter to memory, the memory is used as the storage medium.

memory
ConfigFileVolumeConfigFileToPathsarrayNo

The paths to the configuration files.

objectNo

The paths to the configuration files.

PathstringNo

The name of the environment variable. The name must be 1 to 128 characters in length. Specify the name in the [0-9a-zA-Z] format. The name can contain underscores and cannot start with a digit.

PATH
ModeintegerNo

The permissions on ConfigFileVolume.

0644
ContentstringNo

The content of the configuration file, which can be up to 32 KB in size.

bGl1bWk=
InitContainersarrayNo

The init containers.

objectNo

The init containers.

InitContainerEnvironmentVarsarrayNo

The environment variables of the init container.

objectNo

The environment variables of the init container.

KeystringNo

The key of the environment variable. Specify the key in the [0-9a-zA-Z] format. The key must be 1 to 128 characters in length. The key can contain underscores (_) and cannot start with a digit.

Path
ValuestringNo

The value of the environment variable. The value must be 0 to 256 characters in length.

/usr/bin/
FieldRefFieldPathstringNo
NoteThis parameter is unavailable.
path
SecurityContext.Capability.AddsarrayNo

The permissions granted to processes in the container.

stringNo

The permission granted to processes in the container. Valid values: NET_ADMIN and NET_RAW.

NoteTo use NET_RAW, you must submit a ticket.
NET_ADMIN
ImagestringNo

The container image.

nginx
InitContainerPortsarrayNo

The ports of the init container.

objectNo

The ports of the init container.

ProtocolstringNo

The type of the protocol. Valid values:

  • TCP
  • UDP
TCP
PortintegerNo

The port number. Valid values: 1 to 65535.

1
InitContainerVolumeMountsarrayNo

Information about the volume mounts of the init container.

objectNo

Information about the volume mounts of the init container.

MountPropagationstringNo

The mount propagation settings of the volume . Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:

  • None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.
  • HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.
  • Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.
None
MountPathstringNo

The path to which the volume is mounted. Data under this path is overwritten by the data on the volume.

/usr/share/
ReadOnlybooleanNo

Specifies whether the mount path is read-only.

Default value: false.

false
NamestringNo

The name of the volume.

test-empty
SubPathstringNo

The subdirectory of the volume. The elastic container instance can mount different directories of the same volume to different subdirectories of containers.

/usr/sub/
SecurityContext.ReadOnlyRootFilesystembooleanNo

Specifies whether the root file system is read-only. Set the value to true.

true
ImagePullPolicystringNo

The image pulling policy.

Always
CpunumberNo

The number of vCPUs that you want to allocate to the container.

0.5
WorkingDirstringNo

The working directory.

/usr/local
CommandsarrayNo

The list of commands that you want to run to start the container.

stringNo

The command.

sleep
ArgsarrayNo

The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.

stringNo

The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.

100
SecurityContext.RunAsUserlongNo

The ID of the user that runs the container.

587
GpuintegerNo

The number of GPUs that you want to allocate to the container.

1
MemorynumberNo

The size of the memory. Unit: GiB.

1.0
NamestringNo

The name of the container.

test-init
DnsConfigNameServersarrayNo

The IP addresses of the DNS servers.

stringNo

The IP addresses of the DNS servers.

172.10.*.**
DnsConfigSearchsarrayNo

The DNS lookup domains.

stringNo

The DNS lookup domains.

svc.local.kubenetes
DnsConfigOptionsarrayNo

The options. Each option is in the name-value pair format. The value in the name-value pair is optional.

objectNo

The objects. Each object is in the name-value pair format. The value in the name-value pair is optional.

ValuestringNo

The variable value of the option.

value
NamestringNo

The variable name of the option.

name
HostAliasesarrayNo

The hostnames and IP addresses of a container that you want to add to the hosts file of the elastic container instance.

objectNo

The hostnames and IP addresses of a container that you want to add to the hosts file of the elastic container instance.

IpstringNo

The IP address that you want to add.

1.1.1.1
HostnamesarrayNo

The hostname that you want to add.

stringNo

The hostname that you want to add.

hehe.com
SecurityContextSysctlsarrayNo

The system information of the security context in which the elastic container instance runs.

objectNo

The system information of the security context in which the elastic container instance runs.

ValuestringNo

The variable value of the security context in which the elastic container instance runs.

65536
NamestringNo

The variable name of the security context in which the elastic container instance runs.

kernel.msgmax
NtpServersarrayNo

The domain name of the Network Time Protocol (NTP) server.

stringNo

The domain name of the NTP server.

ntp.cloud.aliyuncs.com
AcrRegistryInfosarrayNo

Information about the Container Registry Enterprise Edition instance.

objectNo

Information about the Container Registry Enterprise Edition instance.

DomainsarrayNo

The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).

stringNo

The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).

*****-****-registry.cn-beijing.cr.aliyuncs.com
InstanceNamestringNo

The name of the Container Registry Enterprise Edition instance.

acr-test
InstanceIdstringNo

The ID of the Container Registry Enterprise Edition instance.

cri-nwj395hgf6f3****
RegionIdstringNo

The region ID of the Container Registry Enterprise Edition instance.

cn-beijing
CostOptimizationbooleanNo

Specifies whether to enable the cost optimization feature. Valid values:

  • true
  • false
false
InstanceFamilyLevelstringNo

The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the CostOptimization parameter to true. Valid values:

  • EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see Shared instance families.
  • EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see Instance family.
  • CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the Overview topic of burstable instances.
EnterpriseLevel

Response parameters

ParameterTypeDescriptionExample
object
ScalingConfigurationIdstring

The ID of the elastic container instance.

eci-uf6fonnghi50u374****
RequestIdstring

The ID of the request.

89945DD3-9072-47D0-A318-353284CF****

Example

Normal return example

JSONFormat

{
  "ScalingConfigurationId": "eci-uf6fonnghi50u374****",
  "RequestId": "89945DD3-9072-47D0-A318-353284CF****"
}

Error codes

Http codeError codeError message
403Forbidden.RiskControlForbidden.RiskControl

For a list of error codes, visit the API error center.