- What's New
- Function Overview
- Service Overview
- Billing
- Getting Started
- User Guide
- Best Practices
-
Developer Guide
- Overview
- Using Native kubectl (Recommended)
- Namespace and Network
- Pod
- Label
- Deployment
- EIPPool
- EIP
- Pod Resource Monitoring Metric
- Collecting Pod Logs
- Managing Network Access Through Service and Ingress
- Using PersistentVolumeClaim to Apply for Persistent Storage
- ConfigMap and Secret
- Creating a Workload Using Job and Cron Job
- YAML Syntax
-
API Reference
- Before You Start
- Calling APIs
- Getting Started
- Proprietary APIs
-
Kubernetes APIs
- ConfigMap
- Pod
- StorageClass
- Service
-
Deployment
- Querying All Deployments
- Deleting All Deployments in a Namespace
- Querying Deployments in a Namespace
- Creating a Deployment
- Deleting a Deployment
- Querying a Deployment
- Updating a Deployment
- Replacing a Deployment
- Querying the Scaling Operation of a Specified Deployment
- Updating the Scaling Operation of a Specified Deployment
- Replacing the Scaling Operation of a Specified Deployment
- Querying the Status of a Deployment
- Ingress
- OpenAPIv2
- VolcanoJob
- Namespace
- ClusterRole
- Secret
- Endpoint
- ResourceQuota
- CronJob
-
API groups
- Querying API Versions
- Querying All APIs of v1
- Querying an APIGroupList
- Querying APIGroup (/apis/apps)
- Querying APIs of apps/v1
- Querying an APIGroup (/apis/batch)
- Querying an APIGroup (/apis/batch.volcano.sh)
- Querying All APIs of batch.volcano.sh/v1alpha1
- Querying All APIs of batch/v1
- Querying All APIs of batch/v1beta1
- Querying an APIGroup (/apis/crd.yangtse.cni)
- Querying All APIs of crd.yangtse.cni/v1
- Querying an APIGroup (/apis/extensions)
- Querying All APIs of extensions/v1beta1
- Querying an APIGroup (/apis/metrics.k8s.io)
- Querying All APIs of metrics.k8s.io/v1beta1
- Querying an APIGroup (/apis/networking.cci.io)
- Querying All APIs of networking.cci.io/v1beta1
- Querying an APIGroup (/apis/rbac.authorization.k8s.io)
- Querying All APIs of rbac.authorization.k8s.io/v1
- Event
- PersistentVolumeClaim
- RoleBinding
- StatefulSet
- Job
- ReplicaSet
- Data Structure
- Permissions Policies and Supported Actions
- Appendix
- Out-of-Date APIs
- Change History
-
FAQs
- Product Consulting
-
Basic Concept FAQs
- What Is CCI?
- What Are the Differences Between Cloud Container Instance and Cloud Container Engine?
- What Is an Environment Variable?
- What Is a Service?
- What Is Mcore?
- What Are the Relationships Between Images, Containers, and Workloads?
- What Are Kata Containers?
- Can kubectl Be Used to Manage Container Instances?
- What Are Core-Hours in CCI Resource Packages?
- Workload Abnormalities
-
Container Workload FAQs
- Why Service Performance Does Not Meet the Expectation?
- How Do I Set the Quantity of Instances (Pods)?
- How Do I Check My Resource Quotas?
- How Do I Set Probes for a Workload?
- How Do I Configure an Auto Scaling Policy?
- What Do I Do If the Workload Created from the sample Image Fails to Run?
- How Do I View Pods After I Call the API to Delete a Deployment?
- Why an Error Is Reported When a GPU-Related Operation Is Performed on the Container Entered by Using exec?
- Can I Start a Container in Privileged Mode When Running the systemctl Command in a Container in a CCI Cluster?
- Why Does the Intel oneAPI Toolkit Fail to Run VASP Tasks Occasionally?
- Why Are Pods Evicted?
- Why Is the Workload Web-Terminal Not Displayed on the Console?
- Why Are Fees Continuously Deducted After I Delete a Workload?
-
Image Repository FAQs
- Can I Export Public Images?
- How Do I Create a Container Image?
- How Do I Upload Images?
- Does CCI Provide Base Container Images for Download?
- Does CCI Administrator Have the Permission to Upload Image Packages?
- What Permissions Are Required for Uploading Image Packages for CCI?
- What Do I Do If Authentication Is Required During Image Push?
-
Network Management FAQs
- How Do I View the VPC CIDR Block?
- Does CCI Support Load Balancing?
- How Do I Configure the DNS Service on CCI?
- Does CCI Support InfiniBand (IB) Networks?
- How Do I Access a Container from a Public Network?
- How Do I Access a Public Network from a Container?
- What Do I Do If Access to a Workload from a Public Network Fails?
- What Do I Do If Error 504 Is Reported When I Access a Workload?
- What Do I Do If the Connection Timed Out?
- Storage Management FAQs
- Log Collection
- Account
- SDK Reference
- Videos
- General Reference
Copied.
Resource Specifications
Overview
The bursting add-on can select appropriate resource specifications based on the vCPUs and memory of the workloads to improve resource utilization. This section describes how appropriate resource specifications are selected.
Constraints
- At least one container in each pod to be scheduled to CCI must have the vCPU limit or request.
- The operations described in this section for rounding up resources can only be used for cloud native bursting. The CCI 2.0 console and APIs have separate operations for rounding up pod specifications.
How Resource Specifications Are Calculated
The resource specifications of pods scheduled to CCI are calculated based on the requests and limits of container resources and adjusted to the pod specifications allowed by CCI.
The resource specifications of a pod are calculated based on the following rules:
- Requests and limits of a resource are set to the same value for all app containers and init containers. If a limit is configured, the limit will be applied. If no limit is configured, the request will be applied.
- If requests are not equal to limits, the larger value of the following two items will be applied:
- Sum of limits set for a resource on all app containers
- Maximum resource limit of all init containers
There are some restrictions on pod specifications.
- The number of vCPUs in a pod must be greater than 0.
- After automatic resource adjustment, the number of vCPUs for the pod is 48 or 64 or ranges from 0.25 to 32, the memory is an integer multiple of 1 GiB and ranges from 1 GiB to 512 GiB, and the ratio of vCPUs to memory ranges from 1:2 to 1:8.
How Resource Quotas Are Rounded Up
Assume that the vCPUs and memory are calculated based on the pod resource specifications. The resource specifications are rounded up as follows:
- The number of vCPUs for each app container and init container (except BestEffort containers) in the pod is increased to an integer multiple of 0.25, and the memory to a value greater than or equal to 0.2 GiB.
NOTE:
If the version of the bursting add-on is 1.5.16 or later, container resource specifications will not be rounded up, and only pod resource specifications are rounded up.
- The pod resources are continuously adjusted until the number of vCPUs of the pod is greater than 32 or the memory is greater than 256 GiB.
- The number of vCPUs in the pod is increased to an integer multiple of 0.25, and the memory to an integer multiple of 1 GiB.
- If the ratio of vCPUs to memory of the pod is less than 1:2, the pod memory is increased to a value greater than or equal to twice the number of vCPUs and is an integer multiple of 1 GiB.
- If the ratio of vCPUs to memory of the pod is greater than 1:8, the number of vCPUs for the pod is increased to a value greater than or equal to 1/8 of the memory and is an integer multiple of 0.25.
A BestEffort container is a container that is not configured with requests and limits.
After resource specifications are rounded up, the pod specifications are as follows:
- The number of vCPUs for the pod ranges from 0.25 to 32 or is 48 or 64, and it must be an integer multiple of 0.25.
- The pod memory is an integer ranging from 1 GiB to 256 GiB or is 384 GiB or 512 GiB.
- The ratio of vCPUs to memory is between 1:2 and 1:8.
- virtual-kubelet.cci.io/burst-pod-cpu: 0.5u
- virtual-kubelet.cci.io/burst-pod-memory: 1Gi
Cases of Rounding Up Resource Specifications
Resource Specifications (vCPUs and Memory) |
Specifications Rounded Up (vCPUs and Memory) |
Description |
---|---|---|
37U 37Gi |
The workloads cannot be scheduled to CCI. |
Invalid vCPU quota. |
30U 257Gi |
The workloads cannot be scheduled to CCI. |
If the ratio of vCPUs to memory is greater than 1:8, the number of vCPUs is increased. However, the vCPU quota cannot be met. |
0.35U 0.5Gi |
0.5U 1Gi |
The number of vCPUs is rounded up to an integer multiple of 0.25, and the memory to an integer multiple of 1. The ratio of vCPUs to memory meets the requirements and does not need to be adjusted. |
0.35U 1.5Gi |
0.5U 2Gi |
The number of vCPUs is rounded up to an integer multiple of 0.25, and the memory to an integer multiple of 1. The ratio of vCPUs to memory meets the requirements and does not need to be adjusted. |
0.45U 18Gi |
2.25U 18Gi |
The number of vCPUs is rounded up to an integer multiple of 0.25, and the memory to an integer multiple of 1. If the ratio of vCPUs to memory is greater than 1:8, the number of vCPUs is increased. |
2U 2Gi |
2U 4Gi |
If the ratio of vCPUs to memory is less than 1:2, the memory is increased. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot