Managed Kubernetes
5.14
Overview
Getting Started
Clusters
PMK CLI
APIs
In Cluster Monitoring
Catapult Remote Monitoring
Platform Administration
Workloads & Apps
Support
Powered By

Title
Message
Create new category
What is the title of your new category?
Edit page index title
What is the title of the page index?
Edit category
What is the new title of your category?
Edit link
What is the new title and URL of your link?
Configuring Add-on Resource Requests and Limits
Copy Markdown
Open in ChatGPT
Open in Claude
PMK allows the users to set the request and limits of an add-on. This guide walks through the steps involved in setting these resources, as well as, describes the available resource fields per add-on.
How to use this feature
- On the workload cluster, list the add-ons to ensure that the add-on you are looking to modify is available.
- Pick the add-on you wish to add resource specifications to. In this example, we will use
metalLB. Edit themetalLBadd-on object, and add the following fields to it under theoverride.paramssection: - Save and exit.
YAML
xxxxxxxxxxkubectl get addons -n pf9-addonsNAME AGE700213ef-3a4b-4777-8d42-ca4017494b52-coredns 20d700213ef-3a4b-4777-8d42-ca4017494b52-kubernetes-dashboard 20d700213ef-3a4b-4777-8d42-ca4017494b52-metallb 20d700213ef-3a4b-4777-8d42-ca4017494b52-metrics-server 20d700213ef-3a4b-4777-8d42-ca4017494b52-monitoring 20dYAML
xxxxxxxxxxapiVersion: agent.pf9.io/v1kind: Addonmetadata: creationTimestamp: "2024-04-15T20:46:04Z" finalizers: - addons.pf9.io generation: 2 name: 700213ef-3a4b-4777-8d42-ca4017494b52-metallb namespace: pf9-addons resourceVersion: "2657929" uid: 5aa4a33f-1869-4ae2-a606-c04143272988spec: clusterID: 700213ef-3a4b-4777-8d42-ca4017494b52 override: params: - name: MetallbIpRange value: 192.168.78.79-192.168.78.99 - name: controllerCPULimit #<---------- value: 534m #<---------- - name: controllerMemoryLimit #<---------- value: 525Mi #<---------- - name: speakerCPULimit #<---------- value: 546m #<---------- - name: speakerMemoryLimit #<---------- value: 533Mi #<---------- - name: controllerCPURequest #<---------- value: 34m #<---------- - name: controllerMemoryRequest #<---------- value: 25Mi #<---------- - name: speakerCPURequest #<---------- value: 46m #<---------- - name: speakerMemoryRequest #<---------- value: 33Mi #<---------- - name: localOverride #<---------- value: "true" #<---------- type: metallb version: 0.13.11 watch: truestatus: healthy: true observedGeneration: 2 phase: InstalledIt is important to set the localOverride field in the addon object. Without this set, the default behavior of sunpike being the source of truth will continue.
If there is a key in the override list that the addon operator does not recognize, it will simply ignore it.
- Once these fields are set, you will see the values showing up on the actual addon objects.
YAML
xxxxxxxxxxkubectl get ds -n metallb-system speaker -o yaml | yq .spec.template.spec.containers[0].resourceslimits: cpu: 546m memory: 533Mirequests: cpu: 46m memory: 33Mikubectl get deploy -n metallb-system controller -o yaml | yq .spec.template.spec.containers[0].resourceslimits: cpu: 534m memory: 525Mirequests: cpu: 34m memory: 25MiReference
The list of supported resource field names per addon is as follows:
Cluster Autoscaler (AWS)
YAML
xxxxxxxxxxlimit: cpuLimit | default "200m" memoryLimit | default "600Mi"requests: cpuRequest | default "100m" memoryRequest | default "300Mi"CoreDNS
YAML
xxxxxxxxxxlimits: dnsCPULimit | default "1" dnsMemoryLimit (this is a required field; left as is to maintain backward compatibility) dnsAutoscalerCPULimit | default "200m" dnsAutoscalerMemoryLimit | default "600Mi"requests: dnsCPURequest | default "100m" dnsMemoryRequest | default "70Mi" dnsAutoscalerCPURequest | default "20m" dnsAutoscalerMemoryRequest | default "10Mi"Kubernetes Dashboard
YAML
xxxxxxxxxxlimits: metricsScraperCPULimit | default "100m" metricsScraperMemoryLimit | default "300Mi" dashboardCPULimit | default "2000m" dashboardMemoryLimit | default "2Gi"requests: metricsScraperCPURequest | default "10m" metricsScraperMemoryRequest | default "50Mi" dashboardCPURequest | default "200m" dashboardMemoryRequest | default "100Mi"Kubevirt
YAML
xxxxxxxxxxlimits: CDIOperatorCPULimit | default "100m" CDIOperatorMemoryLimit | default "300Mi" virtOperatorCPULimit | default "100m" virtOperatorMemoryLimit | default "1Gi" vncCPULimit | default "500m" vncMemoryLimit | default "500Mi"requests: CDIOperatorCPURequest | default "10m" CDIOperatorMemoryRequest | default "150Mi" virtOperatorCPURequest | default "10m" virtOperatorMemoryRequest | default "450Mi" vncCPURequest | default "10m" vncMemoryRequest | default "10Mi"Luigi (Advanced Networking Operator)
YAML
xxxxxxxxxxlimits: luigiCPULimit | default "100m" luigiMemoryLimit | default "128Mi"requests: luigiCPURequest | default "50m" luigiMemoryRequest | default "64Mi"MetalLB
YAML
xxxxxxxxxxlimits: controllerCPULimit | default "500m" controllerMemoryLimit | default "500Mi" speakerCPULimit | default "500m" speakerMemoryLimit | default "500Mi"requests: controllerCPURequest | default "100m" controllerMemoryRequest | default "100Mi" speakerCPURequest | default "100m" speakerMemoryRequest | default "100Mi"Metrics Server
YAML
xxxxxxxxxxlimits: metricsCpuLimit | default "100m" metricsMemoryLimit | default "300Mi"requests: metricsCpuRequest | default "5m" metricsMemoryRequest | default "50Mi"Monitoring
YAML
xxxxxxxxxxlimits: grafanaCPULimit | default "1000m" grafanaMemoryLimit | default "512Mi" ksmCPULimit | default "300m" ksmMemoryLimit | default "300Mi" monhelperCPULimit | default "200m" monhelperMemoryLimit | default "100Mi nodeExporterCPULimit | default "250m" nodeExporterMemoryLimit | default "180Mi" prometheusOperatorCPULimit | default "200m" prometheusOperatorMemoryLimit | default "200Mi"requests: grafanaCPURequest | default "100m" grafanaMemoryRequest | default "256Mi" ksmCPURequest | default "100m" ksmMemoryRequest | default "150Mi" monhelperCPURequest | default "25m" monhelperMemoryRequest | default "25Mi" nodeExporterCPURequest | default "100m" nodeExporterMemoryRequest | default "100Mi" prometheusOperatorCPURequest | default "100m" prometheusOperatorMemoryRequest | default "100Mi"Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
Last updated on Jan 23, 2026
Was this page helpful?
Next to read:
Add-on HealthDiscard Changes
Do you want to discard your current changes and overwrite with the template?
Archive Synced Block
Message
Create new Template
What is this template's title?
Delete Template
Message