bitnamicharts/kube-state-metrics Docker Image
Bitnami提供的Helm图表,用于部署Kube State Metrics以收集Kubernetes集群状态指标
Bitnami Secure Images Helm chart for 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.
https://github.com/kubernetes/kube-state-metrics
Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement.
TL;DR
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/kube-state-metrics
Note: You need to substitute the placeholders
REGISTRY_NAMEandREPOSITORY_NAMEwith a reference to your Helm chart registry and repository.
Introduction
This chart bootstraps https://github.com/bitnami/containers/tree/main/bitnami/kube-state-metrics on https://kubernetes.io using the https://helm.sh package manager.
Before you begin
- Kubernetes 1.23+
- Helm 3.8.0+
Installing the Chart
To install the chart with the release name my-release:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/kube-state-metrics
Note: You need to substitute the placeholders
REGISTRY_NAMEandREPOSITORY_NAMEwith a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to useREGISTRY_NAME=registry-1.docker.ioandREPOSITORY_NAME=bitnamicharts.
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.
Configuration and installation details
This section describes credentials, configuration, and other installation options.
Resource requests and limits
Bitnami charts allow setting resource requests and limits for all containers inside the chart deployment. These are inside the resources value (check parameter table). Setting requests is essential for production workloads and these should be adapted to your specific use case.
To make this process easier, the chart contains the resourcesPreset values, which automatically sets the resources section according to different presets. Check these presets in https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15. However, in production workloads using resourcesPreset is discouraged as it may not fully adapt to your specific needs. Find more information on container resource management in the https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.
https://techdocs.broadcom.com/us/en/vmware-tanzu/bitnami-secure-images/bitnami-secure-images/services/bsi-doc/apps-tutorials-understand-rolling-tags-containers-index.html
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.
Backup and restore
To back up and restore Helm chart deployments on Kubernetes, you need to back up the persistent volumes from the source deployment and attach them to a new deployment using https://velero.io/, a Kubernetes backup/restore tool. Find the instructions for using Velero in https://techdocs.broadcom.com/us/en/vmware-tanzu/bitnami-secure-images/bitnami-secure-images/services/bsi-doc/apps-tutorials-backup-restore-deployments-velero-index.html.
Use Sidecars and Init Containers
If additional containers are needed in the same pod (such as additional metrics or logging exporters), they can be defined using the sidecars config parameter.
yamlsidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
If these sidecars export extra ports, extra port definitions can be added using the service.extraPorts parameter (where available), as shown in the example below:
yamlservice: extraPorts: - name: extraPort port: 11311 targetPort: 11311
NOTE: This Helm chart already includes sidecar containers for the Prometheus exporters (where applicable). These can be activated by adding the
--enable-metrics=trueparameter at deployment time. Thesidecarsparameter should therefore only be used for any extra sidecar containers.
If additional init containers are needed in the same pod, they can be defined using the initContainers parameter. Here is an example:
yamlinitContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
Learn more about https://kubernetes.io/docs/concepts/workloads/pods/ and https://kubernetes.io/docs/concepts/workloads/pods/init-containers/.
Set Pod affinity
This chart allows you to set custom Pod affinity using the affinity parameter. Find more information about Pod's affinity in the https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.
As an alternative, use one of the preset configurations for pod affinity, pod anti-affinity, and node affinity available at the https://github.com/bitnami/charts/tree/main/bitnami/common#affinities chart. To do so, set the podAffinityPreset, podAntiAffinityPreset, or nodeAffinityPreset parameters.
FIPS parameters
The FIPS parameters only have effect if you are using images from the https://go-vmware.broadcom.com/contact-us.
For more information on this new support, please refer to the https://techdocs.broadcom.com/us/en/vmware-tanzu/bitnami-secure-images/bitnami-secure-images/services/bsi-doc/security-frameworks-FIPS-compliance.html.
Parameters
The following subsections list global, common, and component-specific parameters.
Global parameters
| Name | Description | Value |
|---|---|---|
global.imageRegistry | Global Docker image registry | "" |
global.imagePullSecrets | Global Docker registry secret names as an array | [] |
global.defaultFips | Default value for the FIPS configuration (allowed values: '', restricted, relaxed, off). Can be overridden by the 'fips' object | restricted |
global.security.allowInsecureImages | Allows skipping image verification | false |
global.compatibility.openshift.adaptSecurityContext | Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) | auto |
Common parameters
| Name | Description | Value |
|---|---|---|
kubeVersion | Force target Kubernetes version (using Helm capabilities if not set) | "" |
nameOverride | String to partially override kube-state-metrics.name template with a string (will prepend the release name) | "" |
fullnameOverride | String to fully override kube-state-metrics.fullname template with a string | "" |
namespaceOverride | String to fully override common.names.namespace | "" |
commonLabels | Add labels to all the deployed resources | {} |
commonAnnotations | Add annotations to all the deployed resources | {} |
extraDeploy | Array of extra objects to deploy with the release | [] |
diagnosticMode.enabled | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | false |
diagnosticMode.command | Command to override all containers in the the deployment(s)/statefulset(s) | ["sleep"] |
diagnosticMode.args | Args to override all containers in the the deployment(s)/statefulset(s) | ["infinity"] |
kube-state-metrics parameters
| Name | Description | Value |
|---|---|---|
automountServiceAccountToken | Mount Service Account token in pod | true |
hostAliases | Add deployment host aliases | [] |
rbac.create | Whether to create & use RBAC resources or not | true |
rbac.pspEnabled | Whether to create a PodSecurityPolicy and bound it with RBAC. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later | true |
rbac.rules | Custom RBAC rules to set | [] |
serviceAccount.create | Specifies whether a ServiceAccount should be created | true |
serviceAccount.name | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | "" |
serviceAccount.automountServiceAccountToken | Automount service account token for the server service account | false |
serviceAccount.annotations | Annotations for service account. Evaluated as a template. Only used if create is true. | {} |
image.registry | kube-state-metrics image registry | REGISTRY_NAME |
image.repository | kube-state-metrics image repository | REPOSITORY_NAME/kube-state-metrics |
image.digest | kube-state-metrics image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | "" |
image.pullPolicy | kube-state-metrics image pull policy | IfNotPresent |
image.pullSecrets | Specify docker-registry secret names as an array | [] |
extraArgs | Additional command line arguments to pass to kube-state-metrics | {} |
command | Override default container command (useful when using custom images) | [] |
args | Override default container args (useful when using custom images) | [] |
lifecycleHooks | for the kube-state-metrics container(s) to automate configuration before or after startup | {} |
extraEnvVars | Array with extra environment variables to add to kube-state-metrics nodes | [] |
extraEnvVarsCM | Name of existing ConfigMap containing extra env vars for kube-state-metrics pod(s) | "" |
extraEnvVarsSecret | Name of existing Secret containing extra env vars for kube-state-metrics pod(s) | "" |
extraVolumes | Optionally specify extra list of additional volumes for the kube-state-metrics pod(s) | [] |
extraVolumeMounts | Optionally specify extra list of additional volumeMounts for the kube-state-metrics container(s) | [] |
sidecars | Add additional sidecar containers to the kube-state-metrics pod(s) | [] |
initContainers | Add additional init containers to the kube-state-metrics pod(s) | [] |
pdb.create | Enable/disable a Pod Disruption Budget creation | true |
pdb.minAvailable | Minimum number/percentage of pods that should remain scheduled | "" |
pdb.maxUnavailable | Maximum number/percentage of pods that may be made unavailable. Defaults to 1 if both pdb.minAvailable and pdb.maxUnavailable are empty. | "" |
namespaces | Comma-separated list of namespaces to be enabled. Defaults to all namespaces. Evaluated as a template. | "" |
kubeResources.certificatesigningrequests | Enable the certificatesigningrequests resource | true |
kubeResources.configmaps | Enable the configmaps resource | true |
kubeResources.cronjobs | Enable the cronjobs resource | true |
kubeResources.daemonsets | Enable the daemonsets resource | true |
kubeResources.deployments | Enable the deployments resource | true |
kubeResources.endpoints | Enable the endpoints resource | true |
kubeResources.horizontalpodautoscalers | Enable the horizontalpodautoscalers resource | true |
kubeResources.ingresses | Enable the ingresses resource | true |
kubeResources.jobs | Enable the jobs resource | true |
kubeResources.leases | Enable the leases resource | true |
kubeResources.limitranges | Enable the limitranges resource | true |
Note: the README for this chart is longer than the DockerHub length limit of 25000, so it has been trimmed. The full README can be found at https://techdocs.broadcom.com/us/en/vmware-tanzu/bitnami-secure-images/bitnami-secure-images/services/bsi-app-doc/apps-charts-kube-state-metrics-index.html
bitnamicharts 命名空间的其他可用镜像:
bitnamicharts/mysql
bitnamicharts/kafka
bitnamicharts/etcd
bitnamicharts/postgresql
bitnamicharts/harbor
bitnamicharts/milvus
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 kube-state-metrics 镜像标签
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务