Elastic Container Instance (ECI) enforces limits at the instance, API, and Kubernetes integration levels. Some limits are fixed; others can be raised by submitting a ticket or a quota increase request.
Instance limits
The following table lists the limits related to ECI instances:
| Item | Limit | Adjustable |
|---|---|---|
| vCPUs per instance | 64 vCPUs | No |
| Volumes per instance | 20 | No |
| Containers per instance | 20 | No |
| Network types | Virtual Private Cloud (VPC) only | No |
| Account requirements for creating ECI instances |
To create ECI instances in regions within China, your account must pass identity verification. |
No |
| vCPUs per region | Varies by account based on historical usage | Yes. Use Quota Center to request an increase |
To view your current regional vCPU quota, go to the Privileges page in the ECI console.
API rate limits
The following table describes the rate limit rules for each API operation. If a limit does not meet your business requirements, submit a ticket to request a higher limit. The CreateContainerGroup and DeleteContainerGroup operations use a token bucket algorithm. The other API operations are limited to a maximum number of calls per minute.
| API operation | Rate limit rule | How to increase the limit |
|---|---|---|
| CreateContainerGroup | Token bucket algorithm: bucket capacity (burst) = 100, refill rate (rate) = 20/s | Submit a ticket |
| DeleteContainerGroup | Token bucket algorithm: bucket capacity (burst) = 100, refill rate (rate) = 20/s | Submit a ticket |
| DescribeContainerGroups | 2,000 | Submit a ticket |
| DescribeContainerGroupMetric | 2,000 | Submit a ticket |
| DescribeContainerGroupPrice | 1,000 | Submit a ticket |
| ExportContainerGroupTemplate | 1,000 | Submit a ticket |
| ExecContainerCommand | 500 | Submit a ticket |
| DescribeContainerLog | 500 | Submit a ticket |
| RestartContainerGroup | 500 | Submit a ticket |
| UpdateContainerGroup | 500 | Submit a ticket |
| DescribeMultiContainerGroupMetric | 500 | Submit a ticket |
| CreateImageCache | 200 | Submit a ticket |
Kubernetes limits
ECI integrates with Kubernetes through Virtual Kubelet, a virtual node implementation from the Kubernetes community. ECI instances do not run on a centralized physical node. Instead, they are distributed across the Alibaba Cloud resource pool.
For security reasons on the public cloud and because of the limits of virtual nodes themselves, ECI does not support Kubernetes features such as HostPath and DaemonSet. The following table lists these features:
| Unsupported feature | Description | Recommended alternative |
|---|---|---|
| HostPath | Mounts files from the host into a container | Use emptyDir volumes, cloud disks, or File Storage NAS (NAS) |
| HostNetwork | A pod directly uses the network namespace of the host. The container port is the same as the host port. | Create a LoadBalancer Service |
| DaemonSet | Ensures that one pod replica runs on each node | Deploy multiple images in a pod by using sidecar containers |
| NodePort Service | Maps a host port to a container | Create a LoadBalancer Service |
ulimit
ECI does not support modifying ulimit settings. To check the default ulimit values in a container, run:
ulimit -a
If you need to modify ulimit settings, submit a ticket.
Reserved ports
Do not use the following ports when deploying services. ECI and related products reserve these ports.
| Port | Reserved by |
|---|---|
| 111, 10250, 10255 | ECI system interfaces such as exec, logs, and metrics |
| 998 | Cloud Parallel File Storage (CPFS) |