2020-12-18 00:46:15 +00:00
# Default values for kube-state-metrics.
prometheusScrape : true
image :
2022-08-24 15:13:39 +00:00
repository : registry.k8s.io/kube-state-metrics/kube-state-metrics
2022-09-16 09:21:38 +00:00
tag : v2.6.0
sha : ""
2020-12-18 00:46:15 +00:00
pullPolicy : IfNotPresent
imagePullSecrets : [ ]
# - name: "image-pull-secret"
# If set to true, this will deploy kube-state-metrics as a StatefulSet and the data
# will be automatically sharded across <.Values.replicas> pods using the built-in
# autodiscovery feature: https://github.com/kubernetes/kube-state-metrics#automated-sharding
# This is an experimental feature and there are no stability guarantees.
autosharding :
enabled : false
replicas : 1
2021-02-26 21:25:43 +00:00
# List of additional cli arguments to configure kube-state-metrics
# for example: --enable-gzip-encoding, --log-file, etc.
# all the possible args can be found here: https://github.com/kubernetes/kube-state-metrics/blob/master/docs/cli-arguments.md
extraArgs : [ ]
2020-12-18 00:46:15 +00:00
service :
port : 8080
# Default to clusterIP for backward compatibility
type : ClusterIP
nodePort : 0
loadBalancerIP : ""
2022-04-08 15:08:28 +00:00
clusterIP : ""
2020-12-18 00:46:15 +00:00
annotations : {}
2021-12-09 18:03:55 +00:00
## Additional labels to add to all resources
2020-12-18 00:46:15 +00:00
customLabels : {}
2021-12-09 18:03:55 +00:00
# app: kube-state-metrics
2020-12-18 00:46:15 +00:00
2022-01-28 16:19:41 +00:00
## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
releaseLabel : false
2020-12-18 00:46:15 +00:00
hostNetwork : false
rbac :
# If true, create & use RBAC resources
create : true
2021-02-26 21:25:43 +00:00
# Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to it, rolename set here.
# useExistingRole: your-existing-role
# If set to false - Run without Cluteradmin privs needed - ONLY works if namespace is also set (if useExistingRole is set this name is used as ClusterRole or Role to bind to)
useClusterRole : true
2022-08-24 15:13:39 +00:00
# Add permissions for CustomResources' apiGroups in Role/ClusterRole. Should be used in conjunction with Custom Resource State Metrics configuration
# Example:
# - apiGroups: ["monitoring.coreos.com"]
# resources: ["prometheuses"]
# verbs: ["list", "watch"]
extraRules : [ ]
2020-12-18 00:46:15 +00:00
serviceAccount :
# Specifies whether a ServiceAccount should be created, require rbac true
create : true
# The name of the ServiceAccount to use.
# If not set and create is true, a name is generated using the fullname template
name :
# Reference to one or more secrets to be used when pulling images
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets : [ ]
# ServiceAccount annotations.
# Use case: AWS EKS IAM roles for service accounts
# ref: https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html
annotations : {}
prometheus :
monitor :
enabled : false
additionalLabels : {}
namespace : ""
2022-01-28 16:19:41 +00:00
jobLabel : ""
2021-12-09 18:03:55 +00:00
interval : ""
scrapeTimeout : ""
proxyUrl : ""
2022-01-28 16:19:41 +00:00
selectorOverride : {}
2020-12-18 00:46:15 +00:00
honorLabels : false
2021-12-09 18:03:55 +00:00
metricRelabelings : [ ]
relabelings : [ ]
2022-08-24 15:13:39 +00:00
scheme : ""
tlsConfig : {}
2020-12-18 00:46:15 +00:00
## Specify if a Pod Security Policy for kube-state-metrics must be created
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
##
podSecurityPolicy :
enabled : false
annotations : {}
## Specify pod annotations
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
##
# seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
# seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
# apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
additionalVolumes : [ ]
securityContext :
enabled : true
runAsGroup : 65534
runAsUser : 65534
fsGroup : 65534
2021-06-30 16:26:06 +00:00
## Specify security settings for a Container
## Allows overrides and additional options compared to (Pod) securityContext
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
containerSecurityContext : {}
2020-12-18 00:46:15 +00:00
## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector : {}
## Affinity settings for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
affinity : {}
## Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations : [ ]
2022-08-24 15:13:39 +00:00
## Topology spread constraints for pod assignment
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
topologySpreadConstraints : [ ]
# Annotations to be added to the deployment/statefulset
annotations : {}
2020-12-18 00:46:15 +00:00
# Annotations to be added to the pod
podAnnotations : {}
## Assign a PriorityClassName to pods if set
# priorityClassName: ""
# Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
podDisruptionBudget : {}
2021-06-30 16:26:06 +00:00
# Comma-separated list of metrics to be exposed.
# This list comprises of exact metric names and/or regex patterns.
# The allowlist and denylist are mutually exclusive.
metricAllowlist : [ ]
# Comma-separated list of metrics not to be enabled.
# This list comprises of exact metric names and/or regex patterns.
# The allowlist and denylist are mutually exclusive.
metricDenylist : [ ]
# Comma-separated list of additional Kubernetes label keys that will be used in the resource's
# labels metric. By default the metric contains only name and namespace labels.
# To include additional labels, provide a list of resource names in their plural form and Kubernetes
# label keys you would like to allow for them (Example: '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'.
# A single '*' can be provided per resource instead to allow any labels, but that has
# severe performance implications (Example: '=pods=[*]').
metricLabelsAllowlist : [ ]
# - namespaces=[k8s-label-1,k8s-label-n]
2021-12-09 18:03:55 +00:00
# Comma-separated list of Kubernetes annotations keys that will be used in the resource'
# labels metric. By default the metric contains only name and namespace labels.
# To include additional annotations provide a list of resource names in their plural form and Kubernetes
# annotation keys you would like to allow for them (Example: '=namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...)'.
# A single '*' can be provided per resource instead to allow any annotations, but that has
# severe performance implications (Example: '=pods=[*]').
metricAnnotationsAllowList : [ ]
# - pods=[k8s-annotation-1,k8s-annotation-n]
2021-06-30 16:26:06 +00:00
# Available collectors for kube-state-metrics.
# By default, all available resources are enabled, comment out to disable.
2020-12-18 00:46:15 +00:00
collectors :
2021-06-30 16:26:06 +00:00
- certificatesigningrequests
- configmaps
- cronjobs
- daemonsets
- deployments
- endpoints
- horizontalpodautoscalers
- ingresses
- jobs
- limitranges
- mutatingwebhookconfigurations
- namespaces
- networkpolicies
- nodes
- persistentvolumeclaims
- persistentvolumes
- poddisruptionbudgets
- pods
- replicasets
- replicationcontrollers
- resourcequotas
- secrets
- services
- statefulsets
- storageclasses
- validatingwebhookconfigurations
- volumeattachments
2021-07-29 11:50:16 +00:00
# - verticalpodautoscalers # not a default resource, see also: https://github.com/kubernetes/kube-state-metrics#enabling-verticalpodautoscalers
2020-12-18 00:46:15 +00:00
# Enabling kubeconfig will pass the --kubeconfig argument to the container
kubeconfig :
enabled : false
# base64 encoded kube-config file
secret :
2022-08-24 15:13:39 +00:00
# Enable only the release namespace for collecting resources. By default all namespaces are collected.
2022-10-27 12:27:42 +00:00
# If releaseNamespace and namespaces are both set a merged list will be collected.
2022-08-24 15:13:39 +00:00
releaseNamespace : false
2022-10-27 12:27:42 +00:00
# Comma-separated list(string) or yaml list of namespaces to be enabled for collecting resources. By default all namespaces are collected.
2021-06-01 16:40:34 +00:00
namespaces : ""
2020-12-18 00:46:15 +00:00
2022-04-08 15:08:28 +00:00
# Comma-separated list of namespaces not to be enabled. If namespaces and namespaces-denylist are both set,
# only namespaces that are excluded in namespaces-denylist will be used.
namespacesDenylist : ""
2020-12-18 00:46:15 +00:00
## Override the deployment namespace
##
namespaceOverride : ""
resources : {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 64Mi
# requests:
# cpu: 10m
# memory: 32Mi
## Provide a k8s version to define apiGroups for podSecurityPolicy Cluster Role.
## For example: kubeTargetVersionOverride: 1.14.9
##
kubeTargetVersionOverride : ""
2021-02-26 21:25:43 +00:00
# Enable self metrics configuration for service and Service Monitor
2021-05-11 08:07:38 +00:00
# Default values for telemetry configuration can be overridden
2022-08-24 15:13:39 +00:00
# If you set telemetryNodePort, you must also set service.type to NodePort
2021-02-26 21:25:43 +00:00
selfMonitor :
enabled : false
# telemetryHost: 0.0.0.0
# telemetryPort: 8081
2022-08-24 15:13:39 +00:00
# telemetryNodePort: 0
2022-10-27 12:27:42 +00:00
# Enable vertical pod autoscaler support for kube-state-metrics
verticalPodAutoscaler :
enabled : false
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
controlledResources : [ ]
# Define the max allowed resources for the pod
maxAllowed : {}
# cpu: 200m
# memory: 100Mi
# Define the min allowed resources for the pod
minAllowed : {}
# cpu: 200m
# memory: 100Mi
# updatePolicy:
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
# updateMode: Auto
2022-08-24 15:13:39 +00:00
# volumeMounts are used to add custom volume mounts to deployment.
# See example below
volumeMounts : [ ]
# - mountPath: /etc/config
# name: config-volume
# volumes are used to add custom volumes to deployment
# See example below
volumes : [ ]
# - configMap:
# name: cm-for-volume
# name: config-volume