Skip to content

Commit

Permalink
helm: use custom memcached templates (grafana#2064)
Browse files Browse the repository at this point in the history
* helm: use own memcached templates
* Remove chart testing dependency

Bitnami is no longer in use.

Signed-off-by: Miguel Ángel Ortuño <ortuman@gmail.com>
Co-authored-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
  • Loading branch information
2 people authored and mason committed Jul 11, 2022
1 parent 900cc65 commit 1b39cbe
Show file tree
Hide file tree
Showing 40 changed files with 1,044 additions and 191 deletions.
16 changes: 8 additions & 8 deletions docs/sources/migration-guide/migrating-from-cortex.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,29 +260,29 @@ You can update to the Grafana Mimir Helm chart from the Cortex Helm chart.
mimir:
config: |
blocks_storage:
{{- if .Values.memcached.enabled }}
{{- if index .Values "memcached-chunks" "enabled" }}
chunks_cache:
backend: "memcached"
memcached:
addresses: "dns+{{ .Release.Name }}-memcached.{{ .Release.Namespace }}.svc:11211"
max_item_size: {{ .Values.memcached.maxItemMemory }}
addresses: dns+{{ template "mimir.fullname" . }}-memcached-chunks.{{ .Release.Namespace }}.svc:{{ (index .Values "memcached-chunks").port }}
max_item_size: {{ mul (index .Values "memcached-chunks").maxItemMemory 1024 1024 }}
{{- end }}
{{- if index .Values "memcached-metadata" "enabled" }}
metadata_cache:
backend: "memcached"
memcached:
addresses: "dns+{{ .Release.Name }}-memcached-metadata.{{ .Release.Namespace }}.svc:11211"
max_item_size: {{ (index .Values "memcached-metadata").maxItemMemory }}
addresses: dns+{{ template "mimir.fullname" . }}-memcached-metadata.{{ .Release.Namespace }}.svc:{{ (index .Values "memcached-metadata").port }}
max_item_size: {{ mul (index .Values "memcached-metadata").maxItemMemory 1024 1024 }}
{{- end }}
{{- if index .Values "memcached-queries" "enabled" }}
index_cache:
backend: "memcached"
memcached:
addresses: "dns+{{ .Release.Name }}-memcached-queries.{{ .Release.Namespace }}.svc:11211"
max_item_size: {{ (index .Values "memcached-queries").maxItemMemory }}
addresses: dns+{{ template "mimir.fullname" . }}-memcached-index-queries.{{ .Release.Namespace }}.svc:{{ (index .Values "memcached-index-queries").port }}
max_item_size: {{ mul (index .Values "memcached-index-queries").maxItemMemory 1024 1024 }}
{{- end }}
frontend_worker:
frontend_address: "{{ template "mimir.fullname" . }}-query-frontend-headless.{{ .Release.Namespace }}.svc:{{ include "mimir.serverGrpcListenPort" . }}"
frontend_address: "{{ template "mimir.fullname" . }}-query-frontend.{{ .Release.Namespace }}.svc:{{ include "mimir.serverGrpcListenPort" . }}"
ingester:
ring:
num_tokens: 512
Expand Down
14 changes: 14 additions & 0 deletions operations/helm/charts/mimir-distributed/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,20 @@ Entries should include a reference to the Pull Request that introduced the chang

## main / unreleased
* [CHANGE] Enable multi-tenancy by default. This means `multitenancy_enabled` is now `true` for both Mimir and Enterprise Metrics. Nginx will inject `X-Scope-OrgID=anonymous` header if the header is not present, ensuring backwards compatibility. #2117
* [CHANGE] **breaking change** Chart now uses custom memcached templates to remove bitnami dependency. There are changes to the Helm values, listed bellow. #2064
- The `memcached` section now contains common values shared across all memcached instances.
- New `memcachedExporter` section was added to configure memcached metrics exporter.
- New `memcached-chunks` section was added that refers to previous `memcached` configuration.
- The section `memcached-queries` is renamed to `memcached-index-queries`.
- The value `memcached-*.replicaCount` is replaced with `memcached-*.replicas` to align with the rest of the services.
- Renamed `memcached.replicaCount` to `memcached-chunks.replicas`.
- Renamed `memcached-queries.replicaCount` to `memcached-index-queries.replicas`.
- Renamed `memcached-metadata.replicaCount` to `memcached-metadata.replicas`.
- Renamed `memcached-results.replicaCount` to `memcached-results.replicas`.
- All memcached instances now share the same `ServiceAccount` that the chart uses for its services.
- The value `memcached-*.architecture` was removed.
- The value `memcached-*.arguments` was removed, the default arguments are now encoded in the template. Use `memcached-*.extraArgs` to provide additional arguments as well as the values `memcached-*.allocatedMemory`, `memcached-*.maxItemMemory` and `memcached-*.port` to set the memcached command line flags `-m`, `-I` and `-u`.
- The remaining arguments are aligned with the rest of the chart's services, please consult the values file to check whether a parameter exists or was renamed.
* [CHANGE] Change default value for `blocks_storage.bucket_store.chunks_cache.memcached.timeout` to `450ms` to increase use of cached data. #2035
* [FEATURE] Add `mimir-continuous-test` in smoke-test mode. Use `helm test` to run a smoke test of the read + write path.
* [ENHANCEMENT] ServiceMonitor object will now have default values based on release namesapce in the `namespace` and `namespaceSelector` fields. #2123
Expand Down
16 changes: 2 additions & 14 deletions operations/helm/charts/mimir-distributed/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
dependencies:
- name: memcached
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
version: 5.5.2
- name: memcached
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
version: 5.5.2
- name: memcached
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
version: 5.5.2
- name: memcached
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
version: 5.5.2
- name: minio
repository: https://helm.min.io/
version: 8.0.10
digest: sha256:0b58716cf86880510e4ce9dacb312db80918d14704e68127b833b81b5fd7d7f3
generated: "2022-06-02T09:31:09.709064-05:00"
digest: sha256:826b6cc453742c71c2159500596d78666fbdf0ff3ed105caa7ca162ecbd36a45
generated: "2022-06-09T08:29:05.191797+02:00"
20 changes: 0 additions & 20 deletions operations/helm/charts/mimir-distributed/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,6 @@ icon: https://grafana.com/static/img/logos/logo-mimir.svg
kubeVersion: ^1.10.0-0
name: mimir-distributed
dependencies:
- name: memcached
alias: memcached
version: 5.5.2
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
condition: memcached.enabled
- name: memcached
alias: memcached-queries
version: 5.5.2
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
condition: memcached-queries.enabled
- name: memcached
alias: memcached-metadata
version: 5.5.2
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
condition: memcached-metadata.enabled
- name: memcached
alias: memcached-results
version: 5.5.2
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
condition: memcached-results.enabled
- name: minio
alias: minio
version: 8.0.10
Expand Down
4 changes: 0 additions & 4 deletions operations/helm/charts/mimir-distributed/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ Kubernetes: `^1.10.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://helm.min.io/ | minio(minio) | 8.0.10 |
| https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami | memcached(memcached) | 5.5.2 |
| https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami | memcached-queries(memcached) | 5.5.2 |
| https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami | memcached-metadata(memcached) | 5.5.2 |
| https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami | memcached-results(memcached) | 5.5.2 |

## Dependencies

Expand Down
8 changes: 4 additions & 4 deletions operations/helm/charts/mimir-distributed/capped-large.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ ingester:
- ingester
topologyKey: 'kubernetes.io/hostname'

memcached:
memcached-chunks:
enabled: true
replicaCount: 32
replicas: 32

memcached-queries:
memcached-index-queries:
enabled: true
replicaCount: 10
replicas: 10

memcached-metadata:
enabled: true
Expand Down
8 changes: 4 additions & 4 deletions operations/helm/charts/mimir-distributed/capped-small.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ ingester:
- ingester
topologyKey: 'kubernetes.io/hostname'

memcached:
memcached-chunks:
enabled: true
replicaCount: 2
replicas: 2

memcached-queries:
memcached-index-queries:
enabled: true
replicaCount: 3
replicas: 3

memcached-metadata:
enabled: true
Expand Down
28 changes: 28 additions & 0 deletions operations/helm/charts/mimir-distributed/ci/test-oss-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,31 @@ store_gateway:
testing:
minio:
use_secret: true

memcached-chunks:
enabled: true
allocatedMemory: 10
resources:
requests:
cpu: 10m

memcached-index-queries:
enabled: true
allocatedMemory: 30
resources:
requests:
cpu: 10m

memcached-metadata:
enabled: true
allocatedMemory: 10
resources:
requests:
cpu: 10m

memcached-results:
enabled: true
allocatedMemory: 10
resources:
requests:
cpu: 10m
10 changes: 5 additions & 5 deletions operations/helm/charts/mimir-distributed/large.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,20 +69,20 @@ ingester:
topologyKey: 'kubernetes.io/hostname'


memcached:
memcached-chunks:
enabled: true
replicaCount: 32
replicas: 32

memcached-queries:
memcached-index-queries:
enabled: true
replicaCount: 10
replicas: 10

memcached-metadata:
enabled: true

memcached-results:
enabled: true
replicaCount: 4
replicas: 4

minio:
enabled: false
Expand Down
8 changes: 4 additions & 4 deletions operations/helm/charts/mimir-distributed/small.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,13 @@ ingester:
topologyKey: 'kubernetes.io/hostname'


memcached:
memcached-chunks:
enabled: true
replicaCount: 2
replicas: 2

memcached-queries:
memcached-index-queries:
enabled: true
replicaCount: 3
replicas: 3

memcached-metadata:
enabled: true
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.podDisruptionBudget" (dict "ctx" $ "component" "memcached-chunks" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if index .Values "memcached-chunks" "enabled" }}
{{- include "mimir.lib.serviceMonitor" (dict "ctx" $ "component" "memcached-chunks") }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.statefulSet" (dict "ctx" $ "component" "memcached-chunks" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.service" (dict "ctx" $ "component" "memcached-chunks" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.podDisruptionBudget" (dict "ctx" $ "component" "memcached-index-queries" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if index .Values "memcached-index-queries" "enabled" }}
{{- include "mimir.lib.serviceMonitor" (dict "ctx" $ "component" "memcached-index-queries") }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.statefulSet" (dict "ctx" $ "component" "memcached-index-queries" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.service" (dict "ctx" $ "component" "memcached-index-queries" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.podDisruptionBudget" (dict "ctx" $ "component" "memcached-metadata" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if index .Values "memcached-metadata" "enabled" }}
{{- include "mimir.lib.serviceMonitor" (dict "ctx" $ "component" "memcached-metadata") }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.statefulSet" (dict "ctx" $ "component" "memcached-metadata" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.service" (dict "ctx" $ "component" "memcached-metadata" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.podDisruptionBudget" (dict "ctx" $ "component" "memcached-results" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if index .Values "memcached-results" "enabled" }}
{{- include "mimir.lib.serviceMonitor" (dict "ctx" $ "component" "memcached-results") }}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.statefulSet" (dict "ctx" $ "component" "memcached-results" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "mimir.memcached.service" (dict "ctx" $ "component" "memcached-results" ) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{/*
memcached PodDisruptionBudget
*/}}
{{- define "mimir.memcached.podDisruptionBudget" -}}
{{ with (index $.ctx.Values $.component) }}
{{- if .enabled -}}
{{- if .podDisruptionBudget -}}
apiVersion: {{ include "mimir.podDisruptionBudget.apiVersion" $ }}
kind: PodDisruptionBudget
metadata:
name: {{ include "mimir.resourceName" (dict "ctx" $.ctx "component" $.component) }}
labels:
{{- include "mimir.labels" (dict "ctx" $.ctx "component" $.component) | nindent 4 }}
namespace: {{ $.ctx.Release.Namespace | quote }}
spec:
selector:
matchLabels:
{{- include "mimir.selectorLabels" (dict "ctx" $.ctx "component" $.component) | nindent 6 }}
{{ toYaml .podDisruptionBudget | indent 2 }}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}

0 comments on commit 1b39cbe

Please sign in to comment.