* [bitnami/kube-state-metrics] Add missing validatingwebhookconfigurations collector
Commit 93a4afed8cd("[bitnami/kube-state-metrics] Add missing collectors")
added more collectors but it missed the `validatingwebhookconfigurations`
one. So lets add it to the list to achieve parity with the upstream
capabilities.
* [bitnami/kube-state-metrics] Update components versions
Signed-off-by: Bitnami Containers <containers@bitnami.com>
Co-authored-by: Bitnami Containers <containers@bitnami.com>
kube-state-metrics
kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
TL;DR;
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm install my-release bitnami/kube-state-metrics
Introduction
This chart bootstraps kube-state-metrics on Kubernetes using the Helm package manager.
Bitnami charts can be used with Kubeapps for deployment and management of Helm Charts in clusters.
Prerequisites
- Kubernetes 1.12+
- Helm 2.12+ or Helm 3.0+
Installing the Chart
Add the bitnami charts repo to Helm:
$ helm repo add bitnami https://charts.bitnami.com/bitnami
To install the chart with the release name my-release:
$ helm install my-release bitnami/kube-state-metrics
The command deploys kube-state-metrics on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
Uninstalling the Chart
To uninstall/delete the my-release release:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Parameters
The following table lists the configurable parameters of the kube-state-metrics chart and their default values.
| Parameter | Description | Default |
|---|---|---|
global.imageRegistry |
Global Docker image registry | nil |
global.imagePullSecrets |
Global Docker registry secret names as an array | [] (does not add image pull secrets to deployed pods) |
global.storageClass |
Global storage class for dynamic provisioning | nil |
global.labels |
Additional labels to apply to all resources | {} |
nameOverride |
String to partially override kube-state-metrics.name template with a string (will prepend the release name) |
nil |
fullnameOverride |
String to fully override kube-state-metrics.fullname template with a string |
nil |
rbac.create |
Whether to create & use RBAC resources or not | true |
rbac.apiVersion |
Version of the RBAC API | v1beta1 |
rbac.pspEnabled |
PodSecurityPolicy | true |
serviceAccount.create |
Specify whether to create a ServiceAccount for kube-state-metrics | true |
serviceAccount.name |
The name of the ServiceAccount to create | Generated using the kube-state-metrics.fullname template |
image.registry |
kube-state-metrics image registry | docker.io |
image.repository |
kube-state-metrics Image name | bitnami/kube-state-metrics |
image.tag |
kube-state-metrics Image tag | {TAG_NAME} |
image.pullPolicy |
kube-state-metrics image pull policy | IfNotPresent |
image.pullSecrets |
Specify docker-registry secret names as an array | [] (does not add image pull secrets to deployed pods) |
extraArgs |
Additional command line arguments to pass to kube-state-metrics | {} |
namespace |
Comma-separated list of namespaces to be enabled. Defaults to all namespaces | `` |
collectors.certificatesigningrequests |
Enable the certificatesigningrequests collector |
true |
collectors.configmaps |
Enable the configmaps collector |
true |
collectors.cronjobs |
Enable the cronjobs collector |
true |
collectors.daemonsets |
Enable the daemonsets collector |
true |
collectors.deployments |
Enable the deployments collector |
true |
collectors.endpoints |
Enable the endpoints collector |
true |
collectors.horizontalpodautoscalers |
Enable the horizontalpodautoscalers collector |
true |
collectors.ingresses |
Enable the ingresses collector |
true |
collectors.jobs |
Enable the jobs collector |
true |
collectors.limitranges |
Enable the limitranges collector |
true |
collectors.mutatingwebhookconfigurations |
Enable the mutatingwebhookconfigurations collector |
true |
collectors.namespaces |
Enable the namespaces collector |
true |
collectors.networkpolicies |
Enable the networkpolicies collector |
true |
collectors.nodes |
Enable the nodes collector |
true |
collectors.persistentvolumeclaims |
Enable the persistentvolumeclaims collector |
true |
collectors.persistentvolumes |
Enable the persistentvolumes collector |
true |
collectors.poddisruptionbudgets |
Enable the poddisruptionbudgets collector |
true |
collectors.pods |
Enable the pods collector |
true |
collectors.replicasets |
Enable the replicasets collector |
true |
collectors.replicationcontrollers |
Enable the replicationcontrollers collector |
true |
collectors.resourcequotas |
Enable the resourcequotas collector |
true |
collectors.secrets |
Enable the secrets collector |
true |
collectors.services |
Enable the services collector |
true |
collectors.statefulsets |
Enable the statefulsets collector |
true |
collectors.storageclasses |
Enable the storageclasses collector |
true |
collectors.verticalpodautoscalers |
Enable the verticalpodautoscalers collector |
false |
collectors.validatingwebhookconfigurations |
Enable the validatingwebhookconfigurations collector |
false |
collectors.volumeattachments |
Enable the volumeattachments collector |
true |
securityContext.enabled |
Enable security context | true |
securityContext.runAsUser |
User ID for the container | 1001 |
securityContext.fsGroup |
Group ID for the container filesystem | 1001 |
service.type |
Kubernetes service type | ClusterIP |
service.port |
kube-state-metrics service port | 8080 |
service.clusterIP |
Specific cluster IP when service type is cluster IP. Use None for headless service |
nil |
service.nodePort |
Kubernetes Service nodePort | nil |
service.loadBalancerIP |
loadBalancerIP if service type is LoadBalancer |
nil |
service.loadBalancerSourceRanges |
Address that are allowed when svc is LoadBalancer |
[] |
service.annotations |
Additional annotations for kube-state-metrics service | {} |
service.labels |
Additional labels for kube-state-metrics service | {} |
hostNetwork |
Expose the service to the host network | true |
priorityClassName |
Priority class assigned to the Pods | nil |
resources |
Resource requests/limit | {} |
replicaCount |
Desired number of controller pods | 1 |
podLabels |
Pod labels | {} |
podAnnotations |
Pod annotations | {} |
updateStrategy |
Allows setting of RollingUpdate strategy |
{} |
minReadySeconds |
How many seconds a pod needs to be ready before killing the next, during update | 0 |
affinity |
Map of node/pod affinities | {} (The value is evaluated as a template) |
nodeSelector |
Node labels for pod assignment (this value is evaluated as a template) | {} (The value is evaluated as a template) |
tolerations |
List of node taints to tolerate (this value is evaluated as a template) | [] (The value is evaluated as a template) |
livenessProbe.enabled |
Turn on and off liveness probe | true |
livenessProbe.initialDelaySeconds |
Delay before liveness probe is initiated | 120 |
livenessProbe.periodSeconds |
How often to perform the probe | 10 |
livenessProbe.timeoutSeconds |
When the probe times out | 5 |
livenessProbe.failureThreshold |
Minimum consecutive failures for the probe | 6 |
livenessProbe.successThreshold |
Minimum consecutive successes for the probe | 1 |
readinessProbe.enabled |
Turn on and off readiness probe | true |
readinessProbe.initialDelaySeconds |
Delay before readiness probe is initiated | 30 |
readinessProbe.periodSeconds |
How often to perform the probe | 10 |
readinessProbe.timeoutSeconds |
When the probe times out | 5 |
readinessProbe.failureThreshold |
Minimum consecutive failures for the probe | 6 |
readinessProbe.successThreshold |
Minimum consecutive successes for the probe | 1 |
serviceMonitor.enabled |
Creates a ServiceMonitor to monitor kube-state-metrics | false |
serviceMonitor.namespace |
Namespace in which Prometheus is running | nil |
serviceMonitor.interval |
Scrape interval (use by default, falling back to Prometheus' default) | nil |
serviceMonitor.jobLabel |
The name of the label on the target service to use as the job name in prometheus. | nil |
serviceMonitor.selector |
ServiceMonitor selector labels | [] |
serviceMonitor.honorLabels |
Honor metrics labels | false |
serviceMonitor.relabelings |
ServiceMonitor relabelings | [] |
serviceMonitor.metricRelabelings |
ServiceMonitor metricRelabelings | [] |
Specify each parameter using the --set key=value[,key=value] argument to helm install. For example the following command sets the replicas of the kube-state-metrics Pods to 2.
$ helm install my-release --set replicas=2 bitnami/kube-state-metrics
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
$ helm install my-release -f values.yaml bitnami/kube-state-metrics
Tip
: You can use the default values.yaml
Configuration and installation details
Rolling VS Immutable tags
It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image.
Bitnami will release a new chart updating its containers if a new version of the main container, significant changes, or critical vulnerabilities exist.
Production configuration
This chart includes a values-production.yaml file where you can find some parameters oriented to production configuration in comparison to the regular values.yaml. You can use this file instead of the default one.
- Increase the number of kube-state-metrics Pod replicas:
- replicaCount: 1
+ replicaCount: 2
Upgrading
$ helm upgrade my-release bitnami/kube-state-metrics