Configuring Add On Resource Requests And Limits

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 the metalLB add-on object, and add the following fields to it under the override.params section:

  • Save and exit.

kubectl get addons -n pf9-addons
NAME                                                        AGE
700213ef-3a4b-4777-8d42-ca4017494b52-coredns                20d
700213ef-3a4b-4777-8d42-ca4017494b52-kubernetes-dashboard   20d
700213ef-3a4b-4777-8d42-ca4017494b52-metallb                20d
700213ef-3a4b-4777-8d42-ca4017494b52-metrics-server         20d
700213ef-3a4b-4777-8d42-ca4017494b52-monitoring             20d
apiVersion: agent.pf9.io/v1
kind: Addon
metadata:
  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-c04143272988
spec:
  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: true
status:
  healthy: true
  observedGeneration: 2
  phase: Installed
circle-exclamation
  • Once these fields are set, you will see the values showing up on the actual addon objects.

Reference

The list of supported resource field names per addon is as follows:

Cluster Autoscaler (AWS)

CoreDNS

Kubernetes Dashboard

Kubevirt

Luigi (Advanced Networking Operator)

MetalLB

Metrics Server

Monitoring

Last updated

Was this helpful?