mirror of
https://github.com/bitnami/charts.git
synced 2026-03-05 14:57:31 +08:00
[bitnami/etcd] add prometheus rule (#10299)
* etcd add prometheus rule Signed-off-by: lusson <lusson@foxmail.com> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers <containers@bitnami.com> * Update bitnami/etcd/Chart.yaml Co-authored-by: Marcos Bjoerkelund <marcosbjorkelund@gmail.com> Signed-off-by: lusson <lusson@foxmail.com> * Update bitnami/etcd/templates/prometheusrule.yaml Co-authored-by: Marcos Bjoerkelund <marcosbjorkelund@gmail.com> Signed-off-by: lusson <lusson@foxmail.com> * Update bitnami/etcd/values.yaml Co-authored-by: Marcos Bjoerkelund <marcosbjorkelund@gmail.com> Signed-off-by: lusson <lusson@foxmail.com> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers <containers@bitnami.com> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers <containers@bitnami.com> Co-authored-by: Bitnami Containers <containers@bitnami.com> Co-authored-by: Marcos Bjoerkelund <marcosbjorkelund@gmail.com>
This commit is contained in:
@@ -24,4 +24,4 @@ name: etcd
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-etcd
|
||||
- https://coreos.com/etcd/
|
||||
version: 8.1.3
|
||||
version: 8.2.0
|
||||
|
||||
@@ -79,50 +79,50 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
### etcd parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| -------------------------------------- | ----------------------------------------------------------------------------------------------- | -------------------- |
|
||||
| `image.registry` | etcd image registry | `docker.io` |
|
||||
| `image.repository` | etcd image name | `bitnami/etcd` |
|
||||
| `image.tag` | etcd image tag | `3.5.4-debian-10-r0` |
|
||||
| `image.pullPolicy` | etcd image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | etcd image pull secrets | `[]` |
|
||||
| `image.debug` | Enable image debug mode | `false` |
|
||||
| `auth.rbac.create` | Switch to enable RBAC authentication | `true` |
|
||||
| `auth.rbac.allowNoneAuthentication` | Allow to use etcd without configuring RBAC authentication | `true` |
|
||||
| `auth.rbac.rootPassword` | Root user password. The root user is always `root` | `""` |
|
||||
| `auth.rbac.existingSecret` | Name of the existing secret containing credentials for the root user | `""` |
|
||||
| `auth.rbac.existingSecretPasswordKey` | Name of key containing password to be retrieved from the existing secret | `""` |
|
||||
| `auth.token.type` | Authentication token type. Allowed values: 'simple' or 'jwt' | `jwt` |
|
||||
| `auth.token.privateKey.filename` | Name of the file containing the private key for signing the JWT token | `jwt-token.pem` |
|
||||
| `auth.token.privateKey.existingSecret` | Name of the existing secret containing the private key for signing the JWT token | `""` |
|
||||
| `auth.token.signMethod` | JWT token sign method | `RS256` |
|
||||
| `auth.token.ttl` | JWT token TTL | `10m` |
|
||||
| `auth.client.secureTransport` | Switch to encrypt client-to-server communications using TLS certificates | `false` |
|
||||
| `auth.client.useAutoTLS` | Switch to automatically create the TLS certificates | `false` |
|
||||
| `auth.client.existingSecret` | Name of the existing secret containing the TLS certificates for client-to-server communications | `""` |
|
||||
| `auth.client.enableAuthentication` | Switch to enable host authentication using TLS certificates. Requires existing secret | `false` |
|
||||
| `auth.client.certFilename` | Name of the file containing the client certificate | `cert.pem` |
|
||||
| `auth.client.certKeyFilename` | Name of the file containing the client certificate private key | `key.pem` |
|
||||
| `auth.client.caFilename` | Name of the file containing the client CA certificate | `""` |
|
||||
| `auth.peer.secureTransport` | Switch to encrypt server-to-server communications using TLS certificates | `false` |
|
||||
| `auth.peer.useAutoTLS` | Switch to automatically create the TLS certificates | `false` |
|
||||
| `auth.peer.existingSecret` | Name of the existing secret containing the TLS certificates for server-to-server communications | `""` |
|
||||
| `auth.peer.enableAuthentication` | Switch to enable host authentication using TLS certificates. Requires existing secret | `false` |
|
||||
| `auth.peer.certFilename` | Name of the file containing the peer certificate | `cert.pem` |
|
||||
| `auth.peer.certKeyFilename` | Name of the file containing the peer certificate private key | `key.pem` |
|
||||
| `auth.peer.caFilename` | Name of the file containing the peer CA certificate | `""` |
|
||||
| `autoCompactionMode` | Auto compaction mode, by default periodic. Valid values: "periodic", "revision". | `""` |
|
||||
| `autoCompactionRetention` | Auto compaction retention for mvcc key value store in hour, by default 0, means disabled | `""` |
|
||||
| `initialClusterState` | Initial cluster state. Allowed values: 'new' or 'existing' | `""` |
|
||||
| `maxProcs` | Limits the number of operating system threads that can execute user-level | `""` |
|
||||
| `removeMemberOnContainerTermination` | Use a PreStop hook to remove the etcd members from the etcd cluster on container termination | `true` |
|
||||
| `configuration` | etcd configuration. Specify content for etcd.conf.yml | `""` |
|
||||
| `existingConfigmap` | Existing ConfigMap with etcd configuration | `""` |
|
||||
| `extraEnvVars` | Extra environment variables to be set on etcd container | `[]` |
|
||||
| `extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` |
|
||||
| `extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` |
|
||||
| `command` | Default container command (useful when using custom images) | `[]` |
|
||||
| `args` | Default container args (useful when using custom images) | `[]` |
|
||||
| Name | Description | Value |
|
||||
| -------------------------------------- | ----------------------------------------------------------------------------------------------- | --------------------- |
|
||||
| `image.registry` | etcd image registry | `docker.io` |
|
||||
| `image.repository` | etcd image name | `bitnami/etcd` |
|
||||
| `image.tag` | etcd image tag | `3.5.4-debian-10-r23` |
|
||||
| `image.pullPolicy` | etcd image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | etcd image pull secrets | `[]` |
|
||||
| `image.debug` | Enable image debug mode | `false` |
|
||||
| `auth.rbac.create` | Switch to enable RBAC authentication | `true` |
|
||||
| `auth.rbac.allowNoneAuthentication` | Allow to use etcd without configuring RBAC authentication | `true` |
|
||||
| `auth.rbac.rootPassword` | Root user password. The root user is always `root` | `""` |
|
||||
| `auth.rbac.existingSecret` | Name of the existing secret containing credentials for the root user | `""` |
|
||||
| `auth.rbac.existingSecretPasswordKey` | Name of key containing password to be retrieved from the existing secret | `""` |
|
||||
| `auth.token.type` | Authentication token type. Allowed values: 'simple' or 'jwt' | `jwt` |
|
||||
| `auth.token.privateKey.filename` | Name of the file containing the private key for signing the JWT token | `jwt-token.pem` |
|
||||
| `auth.token.privateKey.existingSecret` | Name of the existing secret containing the private key for signing the JWT token | `""` |
|
||||
| `auth.token.signMethod` | JWT token sign method | `RS256` |
|
||||
| `auth.token.ttl` | JWT token TTL | `10m` |
|
||||
| `auth.client.secureTransport` | Switch to encrypt client-to-server communications using TLS certificates | `false` |
|
||||
| `auth.client.useAutoTLS` | Switch to automatically create the TLS certificates | `false` |
|
||||
| `auth.client.existingSecret` | Name of the existing secret containing the TLS certificates for client-to-server communications | `""` |
|
||||
| `auth.client.enableAuthentication` | Switch to enable host authentication using TLS certificates. Requires existing secret | `false` |
|
||||
| `auth.client.certFilename` | Name of the file containing the client certificate | `cert.pem` |
|
||||
| `auth.client.certKeyFilename` | Name of the file containing the client certificate private key | `key.pem` |
|
||||
| `auth.client.caFilename` | Name of the file containing the client CA certificate | `""` |
|
||||
| `auth.peer.secureTransport` | Switch to encrypt server-to-server communications using TLS certificates | `false` |
|
||||
| `auth.peer.useAutoTLS` | Switch to automatically create the TLS certificates | `false` |
|
||||
| `auth.peer.existingSecret` | Name of the existing secret containing the TLS certificates for server-to-server communications | `""` |
|
||||
| `auth.peer.enableAuthentication` | Switch to enable host authentication using TLS certificates. Requires existing secret | `false` |
|
||||
| `auth.peer.certFilename` | Name of the file containing the peer certificate | `cert.pem` |
|
||||
| `auth.peer.certKeyFilename` | Name of the file containing the peer certificate private key | `key.pem` |
|
||||
| `auth.peer.caFilename` | Name of the file containing the peer CA certificate | `""` |
|
||||
| `autoCompactionMode` | Auto compaction mode, by default periodic. Valid values: "periodic", "revision". | `""` |
|
||||
| `autoCompactionRetention` | Auto compaction retention for mvcc key value store in hour, by default 0, means disabled | `""` |
|
||||
| `initialClusterState` | Initial cluster state. Allowed values: 'new' or 'existing' | `""` |
|
||||
| `maxProcs` | Limits the number of operating system threads that can execute user-level | `""` |
|
||||
| `removeMemberOnContainerTermination` | Use a PreStop hook to remove the etcd members from the etcd cluster on container termination | `true` |
|
||||
| `configuration` | etcd configuration. Specify content for etcd.conf.yml | `""` |
|
||||
| `existingConfigmap` | Existing ConfigMap with etcd configuration | `""` |
|
||||
| `extraEnvVars` | Extra environment variables to be set on etcd container | `[]` |
|
||||
| `extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` |
|
||||
| `extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` |
|
||||
| `command` | Default container command (useful when using custom images) | `[]` |
|
||||
| `args` | Default container args (useful when using custom images) | `[]` |
|
||||
|
||||
|
||||
### etcd statefulset parameters
|
||||
@@ -229,7 +229,7 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` |
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/bitnami-shell` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `10-debian-10-r405` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `10-debian-10-r429` |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
|
||||
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `volumePermissions.resources.limits` | Init container volume-permissions resource limits | `{}` |
|
||||
@@ -250,18 +250,22 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
### Metrics parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ------------------------------------- | ---------------------------------------------------------------------------------- | ------------ |
|
||||
| `metrics.enabled` | Expose etcd metrics | `false` |
|
||||
| `metrics.podAnnotations` | Annotations for the Prometheus metrics on etcd pods | `{}` |
|
||||
| `metrics.podMonitor.enabled` | Create PodMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `metrics.podMonitor.namespace` | Namespace in which Prometheus is running | `monitoring` |
|
||||
| `metrics.podMonitor.interval` | Specify the interval at which metrics should be scraped | `30s` |
|
||||
| `metrics.podMonitor.scrapeTimeout` | Specify the timeout after which the scrape is ended | `30s` |
|
||||
| `metrics.podMonitor.additionalLabels` | Additional labels that can be used so PodMonitors will be discovered by Prometheus | `{}` |
|
||||
| `metrics.podMonitor.scheme` | Scheme to use for scraping | `http` |
|
||||
| `metrics.podMonitor.tlsConfig` | TLS configuration used for scrape endpoints used by Prometheus | `{}` |
|
||||
| `metrics.podMonitor.relabelings` | Prometheus relabeling rules | `[]` |
|
||||
| Name | Description | Value |
|
||||
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------ |
|
||||
| `metrics.enabled` | Expose etcd metrics | `false` |
|
||||
| `metrics.podAnnotations` | Annotations for the Prometheus metrics on etcd pods | `{}` |
|
||||
| `metrics.podMonitor.enabled` | Create PodMonitor Resource for scraping metrics using PrometheusOperator | `false` |
|
||||
| `metrics.podMonitor.namespace` | Namespace in which Prometheus is running | `monitoring` |
|
||||
| `metrics.podMonitor.interval` | Specify the interval at which metrics should be scraped | `30s` |
|
||||
| `metrics.podMonitor.scrapeTimeout` | Specify the timeout after which the scrape is ended | `30s` |
|
||||
| `metrics.podMonitor.additionalLabels` | Additional labels that can be used so PodMonitors will be discovered by Prometheus | `{}` |
|
||||
| `metrics.podMonitor.scheme` | Scheme to use for scraping | `http` |
|
||||
| `metrics.podMonitor.tlsConfig` | TLS configuration used for scrape endpoints used by Prometheus | `{}` |
|
||||
| `metrics.podMonitor.relabelings` | Prometheus relabeling rules | `[]` |
|
||||
| `metrics.prometheusRule.enabled` | Create a Prometheus Operator PrometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`) | `false` |
|
||||
| `metrics.prometheusRule.namespace` | Namespace for the PrometheusRule Resource (defaults to the Release Namespace) | `""` |
|
||||
| `metrics.prometheusRule.additionalLabels` | Additional labels that can be used so PrometheusRule will be discovered by Prometheus | `{}` |
|
||||
| `metrics.prometheusRule.rules` | Prometheus Rule definitions | `[]` |
|
||||
|
||||
|
||||
### Snapshotting parameters
|
||||
|
||||
26
bitnami/etcd/templates/prometheusrule.yaml
Normal file
26
bitnami/etcd/templates/prometheusrule.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: PrometheusRule
|
||||
metadata:
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
{{- if .Values.metrics.prometheusRule.namespace }}
|
||||
namespace: {{ .Values.metrics.prometheusRule.namespace }}
|
||||
{{- else }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: metrics
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.prometheusRule.additionalLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.metrics.prometheusRule.additionalLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
groups:
|
||||
- name: {{ include "common.names.fullname" . }}
|
||||
rules: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.prometheusRule.rules "context" $ ) | nindent 6 }}
|
||||
{{- end }}
|
||||
@@ -719,6 +719,32 @@ metrics:
|
||||
## @param metrics.podMonitor.relabelings [array] Prometheus relabeling rules
|
||||
##
|
||||
relabelings: []
|
||||
|
||||
## Prometheus Operator PrometheusRule configuration
|
||||
##
|
||||
prometheusRule:
|
||||
## @param metrics.prometheusRule.enabled Create a Prometheus Operator PrometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
|
||||
##
|
||||
enabled: false
|
||||
## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
|
||||
##
|
||||
namespace: ""
|
||||
## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
|
||||
##
|
||||
additionalLabels: {}
|
||||
## @param metrics.prometheusRule.rules Prometheus Rule definitions
|
||||
# - alert: ETCD has no leader
|
||||
# annotations:
|
||||
# summary: "ETCD has no leader"
|
||||
# description: "pod {{`{{`}} $labels.pod {{`}}`}} state error, can't connect leader"
|
||||
# for: 1m
|
||||
# expr: etcd_server_has_leader == 0
|
||||
# labels:
|
||||
# severity: critical
|
||||
# group: PaaS
|
||||
##
|
||||
rules: []
|
||||
|
||||
|
||||
## @section Snapshotting parameters
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user