Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[loki-distributed] Add minAvailable poddisruptionbudget #3510

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

- name: Check Docs
run: |
docker run --rm --volume "$(pwd):/helm-docs" -u "$(id -u)" jnorwood/helm-docs:v1.8.1
docker run --rm --volume "$(pwd):/helm-docs" -u "$(id -u)" jnorwood/helm-docs:v1.14.2
if ! git diff --exit-code; then
echo "Documentation not up to date. Please run helm-docs and commit changes!" >&2
exit 1
Expand Down
2 changes: 1 addition & 1 deletion charts/loki-distributed/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: loki-distributed
description: Helm chart for Grafana Loki in microservices mode
type: application
appVersion: 2.9.10
version: 0.80.0
version: 0.80.1
home: https://grafana.github.io/helm-charts
sources:
- https://github.com/grafana/loki
Expand Down
18 changes: 15 additions & 3 deletions charts/loki-distributed/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# loki-distributed

![Version: 0.80.0](https://img.shields.io/badge/Version-0.80.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.9.10](https://img.shields.io/badge/AppVersion-2.9.10-informational?style=flat-square)
![Version: 0.80.1](https://img.shields.io/badge/Version-0.80.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.9.10](https://img.shields.io/badge/AppVersion-2.9.10-informational?style=flat-square)

Helm chart for Grafana Loki in microservices mode

Expand Down Expand Up @@ -114,7 +114,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| compactor.livenessProbe | object | `{}` | liveness probe settings for ingester pods. If empty use `loki.livenessProbe` |
| compactor.nodeSelector | object | `{}` | Node selector for compactor pods |
| compactor.persistence.annotations | object | `{}` | Annotations for compactor PVCs |
| compactor.persistence.claims | list | `[{"name":"data","size":"10Gi","storageClass":null}]` | List of the compactor PVCs @notationType -- list |
| compactor.persistence.claims | list | | List of the compactor PVCs |
| compactor.persistence.enableStatefulSetAutoDeletePVC | bool | `false` | Enable StatefulSetAutoDeletePVC feature |
| compactor.persistence.enabled | bool | `false` | Enable creating PVCs for the compactor |
| compactor.persistence.size | string | `"10Gi"` | Size of persistent disk |
Expand Down Expand Up @@ -160,6 +160,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| distributor.image.tag | string | `nil` | Docker image tag for the distributor image. Overrides `loki.image.tag` |
| distributor.maxSurge | int | `0` | Max Surge for distributor pods |
| distributor.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| distributor.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| distributor.nodeSelector | object | `{}` | Node selector for distributor pods |
| distributor.podAnnotations | object | `{}` | Annotations for distributor pods |
| distributor.podLabels | object | `{}` | Labels for distributor pods |
Expand Down Expand Up @@ -209,6 +210,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| gateway.livenessProbe.httpGet.port | string | `"http"` | |
| gateway.livenessProbe.initialDelaySeconds | int | `30` | |
| gateway.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| gateway.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| gateway.nginxConfig.file | string | See values.yaml | Config file contents for Nginx. Passed through the `tpl` function to allow templating |
| gateway.nginxConfig.httpSnippet | string | `""` | Allows appending custom configuration to the http block |
| gateway.nginxConfig.logFormat | string | See values.yaml | NGINX log format |
Expand Down Expand Up @@ -260,6 +262,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| indexGateway.initContainers | list | `[]` | Init containers to add to the index-gateway pods |
| indexGateway.joinMemberlist | bool | `true` | Whether the index gateway should join the memberlist hashring |
| indexGateway.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| indexGateway.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| indexGateway.nodeSelector | object | `{}` | Node selector for index-gateway pods |
| indexGateway.persistence.annotations | object | `{}` | Annotations for index gateway PVCs |
| indexGateway.persistence.enableStatefulSetAutoDeletePVC | bool | `false` | Enable StatefulSetAutoDeletePVC feature |
Expand Down Expand Up @@ -306,8 +309,9 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| ingester.livenessProbe | object | `{}` | liveness probe settings for ingester pods. If empty use `loki.livenessProbe` |
| ingester.maxSurge | int | `0` | Max Surge for ingester pods |
| ingester.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| ingester.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| ingester.nodeSelector | object | `{}` | Node selector for ingester pods |
| ingester.persistence.claims | list | `[{"name":"data","size":"10Gi","storageClass":null}]` | List of the ingester PVCs @notationType -- list |
| ingester.persistence.claims | list | | List of the ingester PVCs |
| ingester.persistence.enableStatefulSetAutoDeletePVC | bool | `false` | Enable StatefulSetAutoDeletePVC feature |
| ingester.persistence.enabled | bool | `false` | Enable creating PVCs which is required when using boltdb-shipper |
| ingester.persistence.inMemory | bool | `false` | Use emptyDir with ramdisk for storage. **Please note that all data in ingester will be lost on pod restart** |
Expand Down Expand Up @@ -387,6 +391,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| memcachedChunks.extraVolumeMounts | list | `[]` | List of additional volumes to be mounted for the memcached-chunks statefulset |
| memcachedChunks.hostAliases | list | `[]` | hostAliases to add |
| memcachedChunks.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| memcachedChunks.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| memcachedChunks.nodeSelector | object | `{}` | Node selector for memcached-chunks pods |
| memcachedChunks.persistence.enabled | bool | `false` | Enable creating PVCs which will persist cached data through restarts |
| memcachedChunks.persistence.size | string | `"10Gi"` | Size of persistent or memory disk |
Expand Down Expand Up @@ -416,6 +421,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| memcachedFrontend.extraEnvFrom | list | `[]` | Environment variables from secrets or configmaps to add to memcached-frontend pods |
| memcachedFrontend.hostAliases | list | `[]` | hostAliases to add |
| memcachedFrontend.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| memcachedFrontend.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| memcachedFrontend.nodeSelector | object | `{}` | Node selector for memcached-frontend pods |
| memcachedFrontend.persistence.enabled | bool | `false` | Enable creating PVCs which will persist cached data through restarts |
| memcachedFrontend.persistence.size | string | `"10Gi"` | Size of persistent or memory disk |
Expand All @@ -436,6 +442,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| memcachedIndexQueries.extraEnvFrom | list | `[]` | Environment variables from secrets or configmaps to add to memcached-index-queries pods |
| memcachedIndexQueries.hostAliases | list | `[]` | hostAliases to add |
| memcachedIndexQueries.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| memcachedIndexQueries.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| memcachedIndexQueries.nodeSelector | object | `{}` | Node selector for memcached-index-queries pods |
| memcachedIndexQueries.persistence.enabled | bool | `false` | Enable creating PVCs which will persist cached data through restarts |
| memcachedIndexQueries.persistence.size | string | `"10Gi"` | Size of persistent or memory disk |
Expand All @@ -456,6 +463,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| memcachedIndexWrites.extraEnvFrom | list | `[]` | Environment variables from secrets or configmaps to add to memcached-index-writes pods |
| memcachedIndexWrites.hostAliases | list | `[]` | hostAliases to add |
| memcachedIndexWrites.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| memcachedIndexWrites.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| memcachedIndexWrites.nodeSelector | object | `{}` | Node selector for memcached-index-writes pods |
| memcachedIndexWrites.persistence.enabled | bool | `false` | Enable creating PVCs which will persist cached data through restarts |
| memcachedIndexWrites.persistence.size | string | `"10Gi"` | Size of persistent or memory disk |
Expand Down Expand Up @@ -515,6 +523,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| querier.initContainers | list | `[]` | Init containers to add to the querier pods |
| querier.maxSurge | int | `0` | Max Surge for querier pods |
| querier.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| querier.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| querier.nodeSelector | object | `{}` | Node selector for querier pods |
| querier.persistence.annotations | object | `{}` | Annotations for querier PVCs |
| querier.persistence.enabled | bool | `false` | Enable creating PVCs for the querier cache |
Expand Down Expand Up @@ -553,6 +562,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| queryFrontend.image.repository | string | `nil` | Docker image repository for the query-frontend image. Overrides `loki.image.repository` |
| queryFrontend.image.tag | string | `nil` | Docker image tag for the query-frontend image. Overrides `loki.image.tag` |
| queryFrontend.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| queryFrontend.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| queryFrontend.nodeSelector | object | `{}` | Node selector for query-frontend pods |
| queryFrontend.podAnnotations | object | `{}` | Annotations for query-frontend pods |
| queryFrontend.podLabels | object | `{}` | Labels for query-frontend pods |
Expand All @@ -576,6 +586,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| queryScheduler.image.repository | string | `nil` | Docker image repository for the query-scheduler image. Overrides `loki.image.repository` |
| queryScheduler.image.tag | string | `nil` | Docker image tag for the query-scheduler image. Overrides `loki.image.tag` |
| queryScheduler.maxUnavailable | int | `1` | Pod Disruption Budget maxUnavailable |
| queryScheduler.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| queryScheduler.nodeSelector | object | `{}` | Node selector for query-scheduler pods |
| queryScheduler.podAnnotations | object | `{}` | Annotations for query-scheduler pods |
| queryScheduler.podLabels | object | `{}` | Labels for query-scheduler pods |
Expand Down Expand Up @@ -606,6 +617,7 @@ kubectl delete statefulset RELEASE_NAME-loki-distributed-querier -n LOKI_NAMESPA
| ruler.initContainers | list | `[]` | Init containers to add to the ruler pods |
| ruler.kind | string | `"Deployment"` | Kind of deployment [StatefulSet/Deployment] |
| ruler.maxUnavailable | string | `nil` | Pod Disruption Budget maxUnavailable |
| ruler.minAvailable | string | `nil` | Pod Disruption Budget minAvailable |
| ruler.nodeSelector | object | `{}` | Node selector for ruler pods |
| ruler.persistence.annotations | object | `{}` | Annotations for ruler PVCs |
| ruler.persistence.enabled | bool | `false` | Enable creating PVCs which is required when using recording rules |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.distributor.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.distributor.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@ spec:
{{- with .Values.gateway.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.gateway.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@ spec:
{{- with .Values.indexGateway.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.indexGateway.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.ingester.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.ingester.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.memcachedChunks.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.memcachedChunks.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.memcachedFrontend.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.memcachedFrontend.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.memcachedIndexQueries.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.memcachedIndexQueries.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.memcachedIndexWrites.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.memcachedIndexWrites.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.querier.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.querier.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.queryFrontend.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.queryFrontend.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ spec:
{{- with .Values.queryScheduler.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.queryScheduler.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@ spec:
{{- with .Values.ruler.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.ruler.minAvailable }}
minAvailable: {{ . }}
{{- end }}
{{- end }}
{{- end }}
24 changes: 24 additions & 0 deletions charts/loki-distributed/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,8 @@ ingester:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Max Surge for ingester pods
maxSurge: 0
# -- Node selector for ingester pods
Expand Down Expand Up @@ -610,6 +612,8 @@ distributor:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Max Surge for distributor pods
maxSurge: 0
# -- Node selector for distributor pods
Expand Down Expand Up @@ -719,6 +723,8 @@ querier:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Max Surge for querier pods
maxSurge: 0
# -- Node selector for querier pods
Expand Down Expand Up @@ -832,6 +838,8 @@ queryFrontend:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for query-frontend pods
nodeSelector: {}
# -- Tolerations for query-frontend pods
Expand Down Expand Up @@ -903,6 +911,8 @@ queryScheduler:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for query-scheduler pods
nodeSelector: {}
# -- Tolerations for query-scheduler pods
Expand Down Expand Up @@ -1117,6 +1127,8 @@ gateway:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for gateway pods
nodeSelector: {}
# -- Tolerations for gateway pods
Expand Down Expand Up @@ -1518,6 +1530,8 @@ ruler:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for ruler pods
nodeSelector: {}
# -- Tolerations for ruler pods
Expand Down Expand Up @@ -1671,6 +1685,8 @@ indexGateway:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for index-gateway pods
nodeSelector: {}
# -- Tolerations for index-gateway pods
Expand Down Expand Up @@ -1810,6 +1826,8 @@ memcachedChunks:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for memcached-chunks pods
nodeSelector: {}
# -- Tolerations for memcached-chunks pods
Expand Down Expand Up @@ -1879,6 +1897,8 @@ memcachedFrontend:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: 1
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for memcached-frontend pods
nodeSelector: {}
# -- Tolerations for memcached-frontend pods
Expand Down Expand Up @@ -1944,6 +1964,8 @@ memcachedIndexQueries:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for memcached-index-queries pods
nodeSelector: {}
# -- Tolerations for memcached-index-queries pods
Expand Down Expand Up @@ -2009,6 +2031,8 @@ memcachedIndexWrites:
topologyKey: failure-domain.beta.kubernetes.io/zone
# -- Pod Disruption Budget maxUnavailable
maxUnavailable: null
# -- Pod Disruption Budget minAvailable
minAvailable: null
# -- Node selector for memcached-index-writes pods
nodeSelector: {}
# -- Tolerations for memcached-index-writes pods
Expand Down
Loading