Kubernetes Metrics Server
When you enable the Kubernetes Metrics Server cluster add-on, you can pass the following key/value pairs as arguments
Note that to use the Kubernetes Metrics Server as a cluster add-on, you also have to deploy cert-manager (either as a standalone product, or as a cluster add-on). If you deploy cert-manager as a standalone product, set the skipAddonDependenciesCheck configuration argument to true.
| Key (API and CLI) | Key's Display Name (Console) | Description | Required/Optional | Default Value | Example Value |
|---|---|---|---|---|---|
affinity |
affinity |
A group of affinity scheduling rules. JSON format in plain text or Base64 encoded. Not used by:
Possible equivalents:
|
Optional | null | null |
nodeSelectors |
node selectors |
You can use node selectors and node labels to control the worker nodes on which add-on pods run. For a pod to run on a node, the pod's node selector must have the same key/value as the node's label. Set JSON format in plain text or Base64 encoded. Not used by:
Possible equivalents:
|
Optional | null | {"foo":"bar", "foo2": "bar2"}The pod will only run on nodes that have the |
numOfReplicas |
numOfReplicas | The number of replicas of the add-on deployment. Not used by:
Possible equivalents:
|
Required | 1Creates one replica of the add-on deployment per cluster. |
2Creates two replicas of the add-on deployment per cluster. |
rollingUpdate |
rollingUpdate |
Controls the desired behavior of rolling update by maxSurge and maxUnavailable. JSON format in plain text or Base64 encoded. Not used by:
Possible equivalents:
|
Optional | null | null |
tolerations |
tolerations |
You can use taints and tolerations to control the worker nodes on which add-on pods run. For a pod to run on a node that has a taint, the pod must have a corresponding toleration. Set JSON format in plain text or Base64 encoded. Possible equivalents:
|
Optional | null | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]Only pods that have this toleration can run on worker nodes that have the |
topologySpreadConstraints |
topologySpreadConstraints |
How to spread matching pods among the given topology. JSON format in plain text or Base64 encoded. Not used by:
|
Optional | null | null |
| Key (API and CLI) | Key's Display Name (Console) | Description | Required/Optional | Default Value | Example Value |
|---|---|---|---|---|---|
metrics-server.ContainerResources
|
metrics-server container resources |
You can specify the resource quantities that the add-on containers request, and set resource usage limits that the add-on containers cannot exceed. JSON format in plain text or Base64 encoded. |
Optional | null |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Create add-on containers that request 100 milllicores of CPU, and 100 mebibytes of memory. Limit add-on containers to 500 milllicores of CPU, and 200 mebibytes of memory. |
skipAddonDependenciesCheck
|
skipAddonDependenciesCheck | Whether to check that other required add-ons have been deployed (such as the cert-manager add-on). | Optional | null |
true
|
The following table describes considerations for configuring this cluster add-on in large clusters.
| Argument Name | Roles wrt number of Nodes | Description | As cluster size increases | Risks | Recommendation |
|---|---|---|---|---|---|
metrics-server.ContainerResources
|
Y |
Defines CPU and memory requests and limits for the Metrics Server pod. |
|
If the resources are undersized:
|
|
numOfReplicas
|
N |
Controls the number of Metrics Server pods. |
Each replica scrapes every node. Metrics Server does not divide the scraping workload between replicas, so additional replicas provide high availability rather than additional processing capacity. |
|
|
affinity
/
nodeSelectors
/
tolerations
|
N |
Control the placement of Metrics Server pods. |
Metrics Server is a control-plane-critical component. Its placement affects service stability and the availability of resource metrics. |
If these arguments are not configured appropriately:
|
|
rollingUpdate
|
N |
Controls the deployment update strategy for Metrics Server. |
Metrics Server downtime makes the Metrics API unavailable, prevents the Horizontal Pod Autoscaler from operating correctly, and causes
|
If this argument is not configured appropriately:
|
|
topologySpreadConstraints
|
N |
Controls how Metrics Server pods are distributed across nodes, availability domains, and other failure domains. |
|
If topology spread constraints are not configured:
|
|
skipAddonDependenciesCheck
|
N |
Controls whether dependency validation is skipped during installation of the add-on. |
This argument has no direct performance or scalability impact, but it affects deployment reliability. In OKE, Metrics Server depends on components such as Certificate Manager. |
If dependency validation is skipped:
|
|