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
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 (.). It 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 to be exposed are added to the inbound rules of the security group. If a default security group does not exist in the region, the system automatically creates a default security group and adds the declared 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 the value for this parameter in the following format:
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 identical to those 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:
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:
|
ImageSnapshotId | String | No | imc-2zebxkiifuyzzlhl**** | The ID of the image cache. |
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:
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:
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 |
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 bandwidth of the EIP. 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 |
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 |
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:
|
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 type of the protocol. Valid values:
|
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. The key must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). It cannot start with a digit. Specify the value in the |
Container.N.EnvironmentVar.N.Value | String | No | /usr/local/bin | The value of environment variable 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:
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 use to perform liveness probes. Valid values:
|
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 | The arguments that correspond to the startup commands of container N. Maximum value of N: 10. |
Container.N.Gpu | Integer | No | 1 | The number of GPUs that you want to allocate to 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 when the container is running. 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 that you want to allocate to container N. Unit: GiB. |
Container.N.Name | String | No | nginx | The name of the image 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:
Default value: None. |
Container.N.VolumeMount.N.MountPath | String | No | /pod/data | The directory within the container to which the volume is mounted. Note Data in this directory is overwritten by the data on the volume. Proceed with caution when you specify this parameter. |
Container.N.VolumeMount.N.ReadOnly | Boolean | No | false | Specifies whether volume N is read-only. Valid values:
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:
|
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. Maximum value of the first N: 20. 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:
|
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 in 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:
|
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:
|
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 |
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:
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 options in the |
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 name of environment variable N. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). It cannot start with a digit. Specify the value in the |
InitContainer.N.InitContainerEnvironmentVar.N.Value | String | No | /usr/bin/ | The value of environment variable 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:
|
InitContainer.N.InitContainerVolumeMount.N.MountPath | String | No | /usr/share/ | The directory to which init container N mounts volume N. The information stored in this directory is overwritten by the data in volume N. Proceed with caution when you specify this parameter. |
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. |
InitContainer.N.InitContainerVolumeMount.N.SubPath | String | No | /usr/sub/ | The subdirectories of volume N. This parameter allows pods to mount different directories that belong to the same volume to different directories of containers. |
InitContainer.N.ImagePullPolicy | String | No | Always | The image pulling policy. |
InitContainer.N.Cpu | Float | No | 0.5 | The number of vCPUs that you want to allocate to 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 that you want to allocate to init container N. |
InitContainer.N.Memory | Float | No | 1.0 | The memory size that you want to allocate to 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:
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
|
InstanceType.N | String | No | ecs.g6.large | The ECS instance types. You can specify up to five ECS instance types. 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:
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{50000, 1000 × Capacity - Baseline IOPS}, in which Baseline IOPS = min{1800 + 50 × Capacity - 50000}. 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:
Default value: false. Note For more information about ESSD AutoPL disks, see ESSD AutoPL disks. |
Response parameters
Parameter | Required | Example | Description |
ScalingConfigurationId | String | eci-uf6fonnghi50u374**** | The ID of the elastic container instance. |
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
&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
&<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 | Description | 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 size of the snapshot 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 key pair does not exist. |
400 | InvalidNetworkType.ForRAMRole | RAMRole can't be used For classic instance. | An instance uses the classic network. The classic network 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 permissions to create an ephemeral system disk. |
400 | InvalidUserData.Base64FormatInvalid | The specified parameter UserData must be base64 encoded. | The 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. |