All Products
Search
Document Center

Auto Scaling:CreateEciScalingConfiguration

Last Updated:Dec 24, 2024

Creates a scaling configuration of the Elastic Container Instance type. Auto Scaling uses the scaling configuration as a template to create elastic container instances during scale-out events based on your business requirements.

Usage notes

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

You can specify Cpu and Memory to determine the range of instance types. Then, 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 by using the instance type that has the lowest price. This method is suitable only if you set Scaling Policy to Cost Optimization Policy and specify no instance type in the scaling configuration.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter

Type

Required

Example

Description

Action

String

Yes

CreateEciScalingConfiguration

The operation that you want to perform. Set the value to CreateEciScalingConfiguration.

ScalingGroupId

String

Yes

asg-bp14wlu85wrpchm0****

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

ScalingConfigurationName

String

Yes

scalingconfig****

The name of the scaling configuration that you want to create. 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 in a region. If you leave this parameter empty, the scaling configuration ID is used.

SecurityGroupId

String

Yes

sg-uf66jeqopgqa9hdn****

The ID of the security group with which you want to associate the elastic container instances created from the scaling configuration. Elastic container instances that are associated with the same security group can communicate with each other.

If you do not specify a security group, the system automatically uses the default security group in the region that you select. Make sure that the protocols and ports of the elastic container instances that you want to expose are added to the inbound rules of the security group. If no default security group exists in the region, the system automatically creates a default security group and adds the specified container protocols and ports to the inbound rules of the security group.

ContainerGroupName

String

Yes

nginx-test[0,3]

The name series of the elastic container instances created from the scaling configuration.

If you want to use an ordered instance name, specify a value for this parameter in the following format: name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix.

  • name_prefix: the prefix of the hostname.

  • (AUTO_INCREMENT): the sort method. This is a static field.

  • begin_number: the start value of the sequential values. Valid values: 0 to 999999.

  • bits: the number of digits in sequential values. Valid values: 1 to 6. If the number of digits in the value of the begin_number field is greater than the value of the bits field, the bits field is automatically set to 6.

    Note

    We recommend that you set the bits field to a value that is greater than or equal to 3. Otherwise, the upper limit of the sequential values may be reached in a short period of time. If Auto Scaling needs to create more elastic container instances after the upper limit is reached, an error is reported and the scale-out operation stops. In this case, you must reconfigure the rules for generating hostnames.

  • name_suffix: the suffix of the hostname. This field is optional.

Note

The [begin_number,bits] field cannot contain spaces. By default, the sequential hostnames are increased based on a fixed value. If Auto Scaling fails to start an elastic container instance in a scaling group during a scale-out event, Auto Scaling removes the elastic container instance from the scaling group and creates another instance. In this case, the hostnames of elastic container instances in the scaling group may have an intermittent increasing pattern.

For example, if you specify nginx-test-(AUTO_INCREMENT)[0,3], the sequential hostnames of the elastic container instances in the scaling group are nginx-test-000, nginx-test-001, and nginx-test-002.

The rules for configuring sequential hostnames for elastic container instances are similar to the rules for configuring sequential hostnames for Elastic Compute Service (ECS) instances. For more information, see Configure naming rules for ECS instances.

RestartPolicy

String

No

Always

The restart policy of elastic container instances. Valid values:

  • Always: always restarts elastic container instances.

  • Never: never restarts elastic container instances.

  • OnFailure: restarts elastic container instances upon failure.

Default value: Always.

Cpu

Float

No

1.0

The number of vCPUs per elastic container instance.

Memory

Float

No

2.0

The memory size per elastic container instance. Unit: GiB.

ResourceGroupId

String

No

rg-uf66jeqopgqa9hdn****

The ID of the resource group.

DnsPolicy

String

No

Default

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

  • None: uses the DNS that is specified for the DnsConfig field.

  • Default: uses the DNS that is specified for the runtime environment.

ImageSnapshotId

String

No

imc-2zebxkiifuyzzlhl****

The ID of the image snapshot.

RamRoleName

String

No

RamTestRole

The name of the Resource Access Management (RAM) role that you want to attach to elastic container instances. Elastic container instances and ECS instances can share the same RAM role. For more information, see Use an instance RAM role by calling API operations.

TerminationGracePeriodSeconds

Long

No

60

The buffer period during which a program handles operations before the program is stopped. Unit: seconds.

AutoMatchImageCache

Boolean

No

false

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

  • true

  • false

Default value: false.

Ipv6AddressCount

Integer

No

1

The number of IPv6 addresses.

ActiveDeadlineSeconds

Long

No

1000

The validity period of the scaling configuration. Unit: seconds.

SpotStrategy

String

No

SpotWithPriceLimit

The bidding policy of elastic container instances. Valid values:

  • NoSpot: The elastic container instances are pay-as-you-go instances.

  • SpotWithPriceLimit: The elastic container instances are preemptible instances for which you can specify the maximum hourly price.

  • SpotAsPriceGo: The elastic container instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.

Default value: NoSpot.

SpotPriceLimit

Float

No

0.025

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

If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.

AutoCreateEip

Boolean

No

true

Specifies whether to automatically create elastic IP addresses (EIPs) and then bind the EIPs to elastic container instances.

EipBandwidth

Integer

No

5

The EIP bandwidth. Default value: 5. Unit: Mbit/s.

HostName

String

No

test

The hostname series of elastic container instances.

IngressBandwidth

Long

No

1024000

The maximum inbound bandwidth. Unit: bit/s.

EgressBandwidth

Long

No

1024000

The maximum outbound bandwidth. Unit: bit/s.

CpuOptionsCore

Integer

No

2

The number of physical CPU cores. You can specify this parameter only for specific instance types. For more information, see Specify CPU options.

CpuOptionsThreadsPerCore

Integer

No

2

The number of threads per core. You can specify this parameter only for specific instance types. If you set this parameter to 1, Hyper-Threading is disabled. For more information, see Specify CPU options.

EphemeralStorage

Integer

No

20

The size of the ephemeral storage space. By default, a performance level 1 (PL1) Enterprise SSD (ESSD) is used. Unit: GiB.

LoadBalancerWeight

Integer

No

50

The load balancing weight of each elastic container instance. Valid values: 1 to 100.

Default value: 50.

Tag.N.Key

String

No

version

The key of tag N. Valid values of N: 1 to 20.

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

Tag.N.Value

String

No

3

The value of tag N. Valid values of N: 1 to 20.

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

ImageRegistryCredential.N.Password

String

No

yourpassword

The password of image repository N.

ImageRegistryCredential.N.Server

String

No

registry-vpc.cn-shanghai.aliyuncs.com

The domain name of image repository N.

ImageRegistryCredential.N.UserName

String

No

yourusername

The username of image repository N.

Container.N.ReadinessProbe.TimeoutSeconds

Integer

No

5

The time limit within which a readiness probe must be complete. Default value: 1. Minimum value: 1.

Container.N.ReadinessProbe.SuccessThreshold

Integer

No

1

The minimum number of consecutive successes required to consider a failed readiness probe as successfully recovered. Default value: 1. Set the value to 1.

Container.N.SecurityContext.Capability.Add.N

String

No

NET_ADMIN

The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.

Note

If you want to use NET_RAW, submit a ticket.

Container.N.ReadinessProbe.TcpSocket.Port

Integer

No

8000

The port detected by the TCP sockets that you want to use to perform readiness probes.

Container.N.ReadinessProbe.HttpGet.Scheme

String

No

HTTP

The protocol type of the HTTP GET requests that you want to use to perform readiness probes. Valid values:

  • HTTP

  • HTTPS

Container.N.LivenessProbe.PeriodSeconds

Integer

No

5

The time interval between consecutive liveness probes. Unit: seconds. Default value: 10. Minimum value: 1.

Container.N.Port.N.Protocol

String

No

TCP

The protocol type. Valid values:

  • TCP

  • UDP

Container.N.Port.N.Port

Integer

No

80

The port number. Valid values: 1 to 65535.

Container.N.EnvironmentVar.N.Key

String

No

PATH

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

Container.N.EnvironmentVar.N.Value

String

No

/usr/local/bin

The value of the environment variable for container N. The value can be up to 256 characters in length.

Container.N.LivenessProbe.TcpSocket.Port

Integer

No

8000

The port detected by the TCP sockets that you want to use to perform liveness probes.

Container.N.Tty

Boolean

No

false

Specifies whether to enable the Interaction feature. Valid values:

  • true

  • false

Default value: false.

If you set Command to /bin/bash, you must set this parameter to true.

Container.N.WorkingDir

String

No

/usr/local/

The working directory of container N.

Container.N.LivenessProbe.HttpGet.Scheme

String

No

HTTP

The protocol type of the HTTP GET requests that you want to send to perform liveness probes. Valid values:

  • HTTP

  • HTTPS

Container.N.ReadinessProbe.HttpGet.Port

Integer

No

8080

The port over which you want to send the HTTP GET requests to perform readiness probes.

Container.N.Arg.N

String

No

100

Argument N that corresponds to the command that you run to start container N. You can specify up to 10 arguments.

Container.N.Gpu

Integer

No

1

The number of GPUs of container N.

Container.N.ReadinessProbe.InitialDelaySeconds

Integer

No

3

The interval between the launch of container N and the onset of a readiness probe. Unit: seconds.

Container.N.Stdin

Boolean

No

false

Specifies whether container N allocates buffer resources to standard input streams during its active runtime. If you leave this parameter empty, an end-of-file (EOF) error occurs.

Default value: false.

Container.N.Memory

Float

No

0.5

The memory size of container N. Unit: GiB.

Container.N.Name

String

No

nginx

The image name of container N.

Container.N.Image

String

No

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

The image of container N.

Container.N.LivenessProbe.InitialDelaySeconds

Integer

No

5

The interval between the launch of container N and the onset of a liveness probe. Unit: seconds.

Container.N.VolumeMount.N.MountPropagation

String

No

None

The mount propagation settings of volume N. Mount propagation allows you to share volumes that are mounted on a container to other containers in the same pod or to other pods on the same node. Valid values:

  • None: Subsequent mounts executed on the volume or its subdirectories are not propagated to the volume.

  • HostToCotainer: Subsequent mounts executed on the volume or its subdirectories are propagated to the volume.

  • Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories are propagated to the volume. Volume mounts executed on the container are also propagated back to the underlying instance and to all containers across pods that use the same volume.

Default value: None.

Container.N.VolumeMount.N.MountPath

String

No

/pod/data

The directory within container N to which you want to mount volume N.

Note

Data in this directory is overwritten by the data on the volume. Proceed with caution.

Container.N.VolumeMount.N.ReadOnly

Boolean

No

false

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

  • true

  • false

Default value: false.

Container.N.VolumeMount.N.Name

String

No

default-volume1

The name of volume N that you want to mount to container N. The value of this parameter is the same as the value of Volume.N.Name.

Container.N.VolumeMount.N.SubPath

String

No

data2/

The subdirectory of volume N.

Container.N.LivenessProbe.FailureThreshold

Integer

No

3

The minimum number of consecutive failures required to consider a successful liveness probe as failed.

Default value: 3.

Container.N.ReadinessProbe.Exec.Command.N

String

No

cat /tmp/healthy

The commands that you want to run by using the Command-Line Interface (CLI) for readiness probing within container N.

Container.N.ReadinessProbe.FailureThreshold

Integer

No

3

The minimum number of consecutive failures required to consider a successful readiness probe as failed. Default value: 3.

Container.N.ImagePullPolicy

String

No

Always

The image pulling policy. Valid values:

  • Always: pulls images each time instances are created.

  • 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.

Container.N.StdinOnce

Boolean

No

false

Specifies whether standard input streams remain connected during multiple sessions when Container.N.StdinOnce is set to true.

If you set Container.N.StdinOnce 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, the streams are also disconnected and remain disconnected until the container is restarted.

Container.N.Cpu

Float

No

0.25

The number of CPU cores that you want to allocate to container N.

Container.N.LivenessProbe.HttpGet.Port

Integer

No

8888

The port over which you want to send the HTTP GET requests to perform liveness probes.

Container.N.LivenessProbe.HttpGet.Path

String

No

/healthyz

The path to which you want to send the HTTP GET requests to perform liveness probes.

Container.N.LivenessProbe.SuccessThreshold

Integer

No

1

The minimum number of consecutive successes required to consider a failed liveness probe as successfully recovered. Default value: 1. Set the value to 1.

Container.N.ReadinessProbe.PeriodSeconds

Integer

No

3

The time interval between consecutive readiness probes. Unit: seconds. Default value: 10. Minimum value: 1.

Container.N.LivenessProbe.TimeoutSeconds

Integer

No

1

The time limit within which a liveness probe must be complete. Default value: 1. Minimum value: 1.

Container.N.Command.N

String

No

sleep

Command N that you want to run to start container N. You can specify a maximum of 20 commands. Each command can contain up to 256 characters.

Container.N.SecurityContext.RunAsUser

Long

No

1000

The ID of the user that runs container N.

Container.N.ReadinessProbe.HttpGet.Path

String

No

/healthz

The path to which you want to send the HTTP GET requests to perform readiness probes.

Container.N.LivenessProbe.Exec.Command.N

String

No

cat/tmp/healthy

The commands that you want to run by using the CLI for liveness probing within container N.

Container.N.LifecyclePostStartHandlerHttpGetHost

String

No

10.0.XX.XX

The IP address of the host to which you want to send the HTTP GET requests to configure the PostStart callback function.

Container.N.LifecyclePostStartHandlerHttpGetPort

Integer

No

5050

The port over which you want to send the HTTP GET requests to configure the PostStart callback function.

Container.N.LifecyclePostStartHandlerHttpGetPath

String

No

/healthyz

The path to which you want to send the HTTP GET requests to configure the PostStart callback function.

Container.N.LifecyclePostStartHandlerHttpGetScheme

String

No

HTTPS

The protocol type of the HTTP GET requests that you want to use to configure the PostStart callback function. Valid values:

  • HTTP

  • HTTPS

Container.N.LifecyclePostStartHandlerExec.N

String

No

[ "/bin/sh", "-c", "echo Hello from the postStart handler /usr/share/message" ]

Command N that you want to run by using the CLI within container N to configure the PostStart callback function.

Container.N.LifecyclePostStartHandlerTcpSocketHost

String

No

10.0.XX.XX

The IP address of the host detected by the TCP sockets that you want to use to configure the PostStart callback function.

Container.N.LifecyclePostStartHandlerTcpSocketPort

Integer

No

80

The port number detected by the TCP sockets that you want to use to configure the PostStart callback function.

Container.N.LifecyclePreStopHandlerHttpGetHost

String

No

10.0.XX.XX

The IP address of the host to which you want to send the HTTP GET requests to configure the PreStop callback function.

Container.N.LifecyclePreStopHandlerHttpGetPort

Integer

No

88

The port over which you want to send the HTTP GET requests to configure the PreStop callback function.

Container.N.LifecyclePreStopHandlerHttpGetPath

String

No

/healthyz

The path to which you want to send the HTTP GET requests to configure the PreStop callback function.

Container.N.LifecyclePreStopHandlerHttpGetScheme

String

No

HTTP

The protocol type of the HTTP GET requests that you want to use to configure the PreStop callback function. Valid values:

  • HTTP

  • HTTPS

Container.N.LifecyclePreStopHandlerExec.N

String

No

[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]

Command N that you want to run by using the CLI to configure the PreStop callback function within container N.

Container.N.LifecyclePreStopHandlerTcpSocketHost

String

No

10.0.XX.XX

The IP address of the host detected by the TCP sockets that you want to use to configure the PreStop callback function.

Container.N.LifecyclePreStopHandlerTcpSocketPort

Integer

No

90

The port number detected by the TCP sockets that you want to use to configure the PreStop callback function.

Volume.N.Type

String

No

ConfigFileVolume

The type of volume N. Valid values:

  • EmptyDirVolume: an empty volume.

  • NFSVolume: a network file system (NFS) volume.

  • ConfigFileVolume: a configuration file.

  • FlexVolume: a volume that uses the FlexVolume plug-in to extend storage and supports disks.

  • HostPathVolume: a file or path of the host node.

  • DiskVolume: a disk volume. This value is not recommended. We recommend that you set Volume.N.Type to FlexVolume.

Volume.N.DiskVolume.DiskSize

Integer

No

15

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

Volume.N.NFSVolume.Path

String

No

/share

The path to the NFS volume.

Volume.N.FlexVolume.FsType

String

No

ext4

The type of the file system that you want to mount. The default value is determined by the script of the FlexVolume plug-in.

Volume.N.DiskVolume.FsType

String

No

xfs

We recommend that you specify FlexVolume.FsType.

Volume.N.HostPathVolume.Type

String

No

Directory

The type of the host volume. Examples: File, Directory, and Socket.

Volume.N.NFSVolume.ReadOnly

Boolean

No

false

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

  • true

  • false

Default value: false.

Volume.N.HostPathVolume.Path

String

No

/xx/xx/path

The absolute path on the host.

Volume.N.FlexVolume.Options

String

No

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

The options of the Flex volume. Each option is a key-value pair in a JSON string.

For example, when you use a Flex volume to mount a disk, specify the option in the {"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} format.

Volume.N.FlexVolume.Driver

String

No

flexvolume

The driver name of the Flex volume.

Volume.N.ConfigFileVolumeDefaultMode

Integer

No

0644

The default permissions on the configuration file.

Volume.N.NFSVolume.Server

String

No

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

The endpoint of the NFS server.

Volume.N.DiskVolume.DiskId

String

No

d-xx

The ID of the disk volume.

Volume.N.Name

String

No

default-volume1

The name of the volume.

Volume.N.EmptyDirVolume.Medium

String

No

memory

The storage medium of the EmptyDir volume. If you leave this parameter empty, the file system of the node is used as the storage medium. If you set this parameter to memory, the memory is used as the storage medium.

Volume.N.ConfigFileVolumeConfigFileToPath.N.Path

String

No

PATH

The relative path to the configuration file.

Volume.N.ConfigFileVolumeConfigFileToPath.N.Mode

Integer

No

0644

The permissions on the ConfigFileVolume directory.

Volume.N.ConfigFileVolumeConfigFileToPath.N.Content

String

No

bGl1bWk=

The content of the configuration file (32 KB).

Volume.N.EmptyDirVolume.SizeLimit

String

No

256 Mi

The storage size of the EmptyDir volume. Unit: GiB or MiB.

InitContainer.N.InitContainerEnvironmentVar.N.Key

String

No

Path

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

InitContainer.N.InitContainerEnvironmentVar.N.Value

String

No

/usr/bin/

The value of environment variable N for init container N. The value can be up to 256 characters in length.

InitContainer.N.SecurityContext.Capability.Add.N

String

No

NET_ADMIN

The permissions that you want to grant to the processes in init container N. Valid values: NET_ADMIN and NET_RAW.

Note

If you want to use NET_RAW, submit a ticket.

InitContainer.N.Image

String

No

nginx

The image of init container N.

InitContainer.N.InitContainerVolumeMount.N.MountPropagation

String

No

None

The mount propagation settings of volume N. Mount propagation allows you to share volumes that are mounted on a container to other containers in the same pod or to other pods on the same node. Valid values:

  • None: Subsequent mounts executed on the volume or its subdirectories are not propagated to the volume.

  • HostToCotainer: Subsequent mounts executed on the volume or its subdirectories are propagated to the volume.

  • Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories are propagated to the volume. Volume mounts executed on the container are propagated back to the underlying instance and to all containers across every pod that uses the same volume.

InitContainer.N.InitContainerVolumeMount.N.MountPath

String

No

/usr/share/

The directory of init container N to which you mount volume N. The information stored in this directory is overwritten by the data in volume N. Proceed with caution.

InitContainer.N.InitContainerVolumeMount.N.ReadOnly

Boolean

No

false

Specifies whether volume N is read-only.

Default value: false.

InitContainer.N.InitContainerVolumeMount.N.Name

String

No

test-empty

The name of volume N that you want to mount to init container N.

InitContainer.N.InitContainerVolumeMount.N.SubPath

String

No

/usr/sub/

The subdirectory of volume N. The pod can mount different directories of the same volume to different directories of init container N.

InitContainer.N.ImagePullPolicy

String

No

Always

The image pulling policy.

InitContainer.N.Cpu

Float

No

0.5

The number of vCPUs of init container N.

InitContainer.N.WorkingDir

String

No

/usr/local

The working directory of init container N.

InitContainer.N.Command.N

String

No

sleep

Command N that you want to run to start init container N.

InitContainer.N.Arg.N

String

No

10

Argument N that you want to use to start init container N.

InitContainer.N.SecurityContext.RunAsUser

Long

No

587

The ID of the user that runs init container N.

InitContainer.N.Gpu

Integer

No

1

The number of GPUs of init container N.

InitContainer.N.Memory

Float

No

1.0

The memory size of init container N. Unit: GiB.

InitContainer.N.Name

String

No

test-init

The name of init container N.

DnsConfigNameServer.N

String

No

172.10.*.**

The IP addresses of DNS server N.

DnsConfigSearch.N

String

No

svc.local.kubenetes

The search domains of DNS server N.

DnsConfigOption.N.Value

String

No

value

The value of option N.

DnsConfigOption.N.Name

String

No

name

The key of option N.

HostAliase.N.Ip

String

No

1.1.1.1

The IP address of host N that you want to add.

HostAliase.N.Hostname.N

String

No

hehe.com

The name of host N that you want to add.

SecurityContextSysctl.N.Value

String

No

65536

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

SecurityContextSysctl.N.Name

String

No

kernel.msgmax

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

NtpServer.N

String

No

ntp.cloud.aliyuncs.com

The endpoint of Network Time Protocol (NTP) server N.

AcrRegistryInfo.N.Domain.N

String

No

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

The domain names of Container Registry Enterprise Edition instance N. By default, all domain names of Container Registry Enterprise Edition instance N are displayed. Separate multiple domain names with commas (,).

AcrRegistryInfo.N.InstanceName

String

No

acr-test

The name of Container Registry Enterprise Edition instance N.

AcrRegistryInfo.N.InstanceId

String

No

cri-nwj395hgf6f3****

The ID of Container Registry Enterprise Edition instance N.

AcrRegistryInfo.N.RegionId

String

No

cn-beijing

The region ID of Container Registry Enterprise Edition instance N.

CostOptimization

Boolean

No

false

Specifies whether to enable the Cost Optimization feature. Valid values:

  • true

  • false

Default value: false.

InstanceFamilyLevel

String

No

EnterpriseLevel

The level of the instance family. You can specify this parameter to obtain instance types that meet the specified criteria. This parameter takes effect only if you set CostOptimization to true. Valid values:

  • EntryLevel: entry-level (shared instance types). Instance types of this level are the most cost-effective but may not ensure consistent computing performance. Instance types of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see Shared instance families.

  • EnterpriseLevel: enterprise-level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see Overview of instance families.

  • CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for business scenarios in which CPU utilization is low but may fluctuate in specific scenarios. For more information, see the Overview topic of burstable instances.

InstanceType.N

String

No

ecs.g6.large

ECS instance type N. Valid values of N: 1 to 5. For more information, see Specify ECS instance types to create an elastic container instance.

DataCacheBucket

String

No

default

The bucket that you want to use to store data caches.

DataCachePL

String

No

PL1

The PL of the disk that you want to use to store data caches. We recommend that you use ESSDs. Valid values if you use ESSDs:

  • PL0: An ESSD can provide up to 10,000 random read/write IOPS.

  • PL1: An ESSD can provide up to 50,000 random read/write IOPS.

  • PL2: An ESSD can provide up to 100,000 random read/write IOPS.

  • PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.

Default value: PL1.

Note

For more information about ESSDs, see ESSDs.

DataCacheProvisionedIops

Integer

No

40000

The provisioned IOPS of the ESSD AutoPL disk that you want to use to store data caches. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}, where Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.

Note

For more information about ESSD AutoPL disks, see ESSD AutoPL disks.

DataCacheBurstingEnabled

Boolean

No

false

Specifies whether to enable the Performance Burst feature for the ESSD AutoPL disk that you want to use to store data caches. Valid values:

  • true

  • false

Default value: false.

Note

For more information about ESSD AutoPL disks, see ESSD AutoPL disks.

GpuDriverVersion

String

No

tesla=525.85.12

The version of the GPU driver. Valid values:

  • tesla=470.82.01 (default)

  • tesla=525.85.12

Note

You can change the GPU driver version of GPU-accelerated elastic container instances that use specific GPU-accelerated ECS instance types. For more information, see Specify GPU-accelerated ECS instance types to create an elastic container instance.

Response parameters

Parameter

Type

Example

Description

ScalingConfigurationId

String

eci-uf6fonnghi50u374****

The ID of the scaling configuration.

RequestId

String

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

The ID of the request.

Examples

Sample requests

http(s)://ess.aliyuncs.com/?Action=CreateEciScalingConfiguration
&ScalingGroupId=asg-bp14wlu85wrpchm0****
&ScalingConfigurationName=scalingconfig****
&SecurityGroupId=sg-uf66jeqopgqa9hdn****
&ContainerGroupName=nginx-test[0,3]
&RestartPolicy=Always
&Cpu=1.0
&Memory=2.0
&ResourceGroupId=rg-uf66jeqopgqa9hdn****
&DnsPolicy=Default
&ImageSnapshotId=imc-2zebxkiifuyzzlhl****
&RamRoleName=RamTestRole
&TerminationGracePeriodSeconds=60
&AutoMatchImageCache=false
&Ipv6AddressCount=1
&ActiveDeadlineSeconds=1000
&SpotStrategy=SpotWithPriceLimit
&SpotPriceLimit=0.025
&AutoCreateEip=true
&EipBandwidth=5
&HostName=test
&IngressBandwidth=1024000
&EgressBandwidth=1024000
&CpuOptionsCore=2
&CpuOptionsThreadsPerCore=2
&EphemeralStorage=20
&LoadBalancerWeight=50
&Tag=[{"Key":"version","Value":"3"}]
&ImageRegistryCredential=[{"Password":"yourpassword","Server":"registry-vpc.cn-shanghai.aliyuncs.com","UserName":"yourusername"}]
&Container=[{"ReadinessProbe.TimeoutSeconds":5,"ReadinessProbe.SuccessThreshold":1,"SecurityContext.Capability.Add":["NET_ADMIN"],"ReadinessProbe.TcpSocket.Port":8000,"ReadinessProbe.HttpGet.Scheme":"HTTP","LivenessProbe.PeriodSeconds":5,"Port":[{"Protocol":"TCP","Port":80}],"EnvironmentVar":[{"Key":"PATH","Value":"/usr/local/bin"}],"LivenessProbe.TcpSocket.Port":8000,"Tty":false,"WorkingDir":"/usr/local/","LivenessProbe.HttpGet.Scheme":"HTTP","ReadinessProbe.HttpGet.Port":8080,"Arg":["100"],"Gpu":1,"ReadinessProbe.InitialDelaySeconds":3,"Stdin":false,"Memory":0.5,"Name":"nginx","Image":"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest","LivenessProbe.InitialDelaySeconds":5,"VolumeMount":[{"MountPropagation":"None","MountPath":"/pod/data","ReadOnly":false,"Name":"default-volume1","SubPath":"data2/"}],"LivenessProbe.FailureThreshold":3,"ReadinessProbe.Exec.Command":["cat /tmp/healthy"],"ReadinessProbe.FailureThreshold":3,"ImagePullPolicy":"Always","StdinOnce":false,"Cpu":0.25,"LivenessProbe.HttpGet.Port":8888,"LivenessProbe.HttpGet.Path":"/healthyz","LivenessProbe.SuccessThreshold":1,"ReadinessProbe.PeriodSeconds":3,"LivenessProbe.TimeoutSeconds":1,"Command":["sleep"],"SecurityContext.RunAsUser":1000,"ReadinessProbe.HttpGet.Path":"/healthz","LivenessProbe.Exec.Command":["cat/tmp/healthy"],"LifecyclePostStartHandlerHttpGetHost":"10.0.XX.XX","LifecyclePostStartHandlerHttpGetPort":5050,"LifecyclePostStartHandlerHttpGetPath":"/healthyz","LifecyclePostStartHandlerHttpGetScheme":"HTTPS","LifecyclePostStartHandlerExec":["[ \t\"/bin/sh\", \t\"-c\", \t\"echo Hello from the postStart handler  /usr/share/message\" ]"],"LifecyclePostStartHandlerTcpSocketHost":"10.0.XX.XX","LifecyclePostStartHandlerTcpSocketPort":80,"LifecyclePreStopHandlerHttpGetHost":"10.0.XX.XX","LifecyclePreStopHandlerHttpGetPort":88,"LifecyclePreStopHandlerHttpGetPath":"/healthyz","LifecyclePreStopHandlerHttpGetScheme":"HTTP","LifecyclePreStopHandlerExec":["[       \"/bin/sh\",       \"-c\",       \"echo Hello from the preStop handler  /usr/share/message\" ]"],"LifecyclePreStopHandlerTcpSocketHost":"10.0.XX.XX","LifecyclePreStopHandlerTcpSocketPort":90}]
&Volume=[{"Type":"ConfigFileVolume","DiskVolume.DiskSize":15,"NFSVolume.Path":"/share","FlexVolume.FsType":"ext4","DiskVolume.FsType":"xfs","HostPathVolume.Type":"Directory","NFSVolume.ReadOnly":false,"HostPathVolume.Path":"/xx/xx/path","FlexVolume.Options":"{\"volumeId\":\"d-2zehdahrwoa7srg****\",\"performanceLevel\": \"PL2\"}","FlexVolume.Driver":"flexvolume","ConfigFileVolumeDefaultMode":644,"NFSVolume.Server":"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com","DiskVolume.DiskId":"d-xx","Name":"default-volume1","EmptyDirVolume.Medium":"memory","ConfigFileVolumeConfigFileToPath":[{"Path":"PATH","Mode":644,"Content":"bGl1bWk="}],"EmptyDirVolume.SizeLimit":"256 Mi"}]
&InitContainer=[{"InitContainerEnvironmentVar":[{"Key":"Path","Value":"/usr/bin/"}],"SecurityContext.Capability.Add":["NET_ADMIN"],"Image":"nginx","InitContainerVolumeMount":[{"MountPropagation":"None","MountPath":"/usr/share/","ReadOnly":false,"Name":"test-empty","SubPath":"/usr/sub/"}],"ImagePullPolicy":"Always","Cpu":0.5,"WorkingDir":"/usr/local","Command":["sleep"],"Arg":["10"],"SecurityContext.RunAsUser":587,"Gpu":1,"Memory":1.0,"Name":"test-init"}]
&DnsConfigNameServer=["172.10.*.**"]
&DnsConfigSearch=["svc.local.kubenetes"]
&DnsConfigOption=[{"Value":"value","Name":"name"}]
&HostAliase=[{"Ip":"1.1.1.1","Hostname":["hehe.com"]}]
&SecurityContextSysctl=[{"Value":"65536","Name":"kernel.msgmax"}]
&NtpServer=["ntp.cloud.aliyuncs.com"]
&AcrRegistryInfo=[{"Domain":["*****-****-registry.cn-beijing.cr.aliyuncs.com"],"InstanceName":"acr-test","InstanceId":"cri-nwj395hgf6f3****","RegionId":"cn-beijing"}]
&CostOptimization=false
&InstanceFamilyLevel=EnterpriseLevel
&InstanceType=["ecs.g6.large"]
&DataCacheBucket=default
&DataCachePL=PL1
&DataCacheProvisionedIops=40000
&DataCacheBurstingEnabled=false
&GpuDriverVersion=tesla=525.85.12
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateEciScalingConfigurationResponse>
    <ScalingConfigurationId>eci-uf6fonnghi50u374****</ScalingConfigurationId>
    <RequestId>89945DD3-9072-47D0-A318-353284CF****</RequestId>
</CreateEciScalingConfigurationResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

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

Error codes

For a list of error codes, see Service error codes.

HTTP status code

Error code

Error message

Description

400

InstanceType.Mismatch

The specified scaling configuration and existing active scaling configuration have different instance type.

The instance type in the specified scaling configuration is different from the instance type in the current scaling configuration.

404

InvalidDataDiskSnapshotId.NotFound

Snapshot "XXX" does not exist.

The snapshot does not exist.

400

InvalidDataDiskSnapshotId.SizeNotSupported

The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.

The snapshot size exceeds the maximum size that is allowed for the disk.

403

InvalidDevice.InUse

Device "XXX" has been occupied.

The mount target of the data disk is occupied.

400

InvalidImageId.InstanceTypeMismatch

The specified image does not support the specified instance type.

The specified image does not support the specified instance type.

404

InvalidImageId.NotFound

The specified image does not exist.

The specified image does not exist in your Alibaba Cloud account.

400

InvalidKeyPairName.NotFound

The specified KeyPairName does not exist in our records.

The specified key pair does not exist.

400

InvalidNetworkType.ForRAMRole

RAMRole can't be used For classic instance.

An instance uses the classic network, which does not support RamRoleName.

400

InvalidParameter

The specified value of parameter KeyPairName is not valid.

The OS of the instance is Windows. Windows instances do not support KeyPairName.

400

InvalidParameter.Conflict

The value of parameter SystemDisk.Category and parameter DataDisk.N.Category are conflict.

The specified system disk category conflicts with the data disk category.

400

InvalidRamRole.NotFound

The specified RamRoleName does not exist.

The value of RamRoleName is invalid.

400

InvalidScalingConfigurationName.Duplicate

The specified value of parameter ScalingConfigurationName is duplicated.

A scaling configuration that has the same name already exists.

404

InvalidScalingGroupId.NotFound

The specified scaling group does not exist.

The specified scaling group does not exist in your Alibaba Cloud account.

400

InvalidSecurityGroupId.IncorrectNetworkType

The network type of specified security Group does not support this action.

The network type of the specified security group is different from the network type of the scaling group.

404

InvalidSecurityGroupId.NotFound

The specified security group does not exist.

The specified security group does not exist in your Alibaba Cloud account.

400

InvalidSecurityGroupId.VPCMismatch

The specified security group and the specified virtual switch are not in the same VPC.

The specified security group and vSwitch do not reside in the same virtual private cloud (VPC).

403

InvalidSnapshot.TooOld

This operation is denied because the specified snapshot is created before 2013-07-15.

The specified snapshot is created on or before July 15, 2013, and the request is rejected.

403

InvalidSystemDiskCategory.ValueUnauthorized

The system disk category is not authorized.

You do not have the permission to create an ephemeral system disk.

400

InvalidUserData.Base64FormatInvalid

The specified parameter UserData must be base64 encoded.

The specified user data is not encoded in Base64.

400

InvalidUserData.SizeExceeded

The specified parameter UserData exceeds the size.

The size of the user data exceeds the upper limit.

403

QuotaExceeded.EphemeralDiskSize

Ephemeral disk size quota exceeded.

The total capacity of mounted ephemeral disks exceeds 2 TiB (2,048 GiB).

400

QuotaExceeded.ScalingConfiguration

Scaling configuration quota exceeded in the specified scaling group.

The maximum number of scaling configurations has been reached.

400

QuotaExceeded.SecurityGroupInstance

Instance quota exceeded in the specified security group.

The maximum number of elastic container instances that can be associated with the security group has been reached.