You can update the limits on your namespaces if you experience any constraints.
By default, the following limits are applied to IBM Cloud PakĀ® for Multicloud Management namespaces:
| Namespace | CPU Maximum | CPU Minimum | CPU default requests | Memory Maximum | Memory Minimum | Memory default requests |
|---|---|---|---|---|---|---|
| cert-manager | 800m | 0m | 300m | 1Gi | 0Mi | 300Mi |
| default | 500m | 0m | 200m | 500Mi | 0Mi | 200Mi |
| ibmcom | 500m | 0m | 200m | 500Mi | 0Mi | 200Mi |
| icp-system | 500m | 0m | 200m | 500Mi | 0Mi | 200Mi |
| kube-public | 500m | 0m | 200m | 500Mi | 0Mi | 200Mi |
| multicluster-endpoint | 1500m | 0m | 300m | 2Gi | 0Gi | 300Mi |
| services | 500m | 0m | 200m | 500Mi | 0Mi | 200Mi |
CPU represents how much processing power from your system that any Kubernetes pod can use. CPU is measured in cores. The values that are specified in the table are "millicores" or "millicpu". The maximum CPU of the default namespace
is 500 millicores.
Memory is the amount of hard disk memory from your system that any Kubernetes pod can use. The constraints are based on the namespace where the Kubernetes pod runs.
The maximum value caps the amount of CPU or memory that is used by the Kubernetes pods in a namespace. The minimum value forces every Kubernetes pod within the namespace to use at least the CPU and memory that are listed.
If a namespace requires more memory, for example, when you are deploying CAM in the services namespace, you can increase the limits by following the steps:
Edit the LimitRange object for the namespace you want to change the limits on. The following example shows the LimitRange object for the default namespace:
kubectl edit LimitRange default-limit -n default
Change the maximum or minimum values of CPU, memory, or both:
apiVersion: v1
kind: LimitRange
metadata:
name: default-limit
spec:
limits:
- max:
cpu: "1000m"
memory: "1Gi"
min:
cpu: "0m"
memory: "0Mi"
type: Container
Save your changes. Then, verify that the changes are applied by running the following command:
kubectl describe namespace default
LimitRange does not set a default limit, the default limit implicitly becomes the maximum of the LimitRange. For example, the following LimitRange for the kube-public namespace has a maximum CPU of 100m
and a maximum memory of 100Mi. The default for kube-public becomes CPU=100m and memory=100Mi.apiVersion: v1
kind: LimitRange
metadata:
name: kube-public-limit
spec:
limits:
- max:
cpu: "100m"
memory: "100Mi"
min:
cpu: "0m"
memory: "0Mi"
type: Container
For more information about LimitRanges, see the Kubernetes documentation .