Commit 7048187f by Guangbo Chen

Bump memcached to v2.9.0

parent 0952c45d
apiVersion: v1
name: memcached name: memcached
version: 2.3.1 version: 2.9.0
appVersion: 1.5.6 appVersion: 1.5.12
description: Free & open source, high-performance, distributed memory object caching description: Free & open source, high-performance, distributed memory object caching
system. system.
keywords: keywords:
- memcached - memcached
- cache - cache
home: http://memcached.org/ home: http://memcached.org/
icon: https://upload.wikimedia.org/wikipedia/en/thumb/2/27/Memcached.svg/1024px-Memcached.svg.png icon: file://../memcached.png
sources: sources:
- https://github.com/docker-library/memcached - https://github.com/docker-library/memcached
maintainers: maintainers:
......
...@@ -2,18 +2,28 @@ ...@@ -2,18 +2,28 @@
The following table lists the configurable parameters of the Memcached chart and their default values. The following table lists the configurable parameters of the Memcached chart and their default values.
| Parameter | Description | Default | | Parameter | Description | Default |
|---------------------------|---------------------------------|---------------------------------------------------------| |----------------------------|---------------------------------|---------------------------------------------------------|
| `image` | The image to pull and run | A recent official memcached tag | | `image` | The image to pull and run | A recent official memcached tag |
| `imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` | | `imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` |
| `memcached.verbosity` | Verbosity level (v, vv, or vvv) | Un-set. | | `memcached.verbosity` | Verbosity level (v, vv, or vvv) | Un-set. |
| `memcached.maxItemMemory` | Max memory for items (in MB) | `64` | | `memcached.maxItemMemory` | Max memory for items (in MB) | `64` |
| `metrics.enabled` | Expose metrics in prometheus format | false | | `memcached.extraArgs` | Additional memcached arguments | `[]` |
| `metrics.image` | The image to pull and run for the metrics exporter | A recent official memcached tag | | `metrics.enabled` | Expose metrics in prometheus format | false |
| `metrics.imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` | | `metrics.image` | The image to pull and run for the metrics exporter | A recent official memcached tag |
| `metrics.resources` | CPU/Memory resource requests/limits for the metrics exporter | `{}` | | `metrics.imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` |
| `extraContainers` | Container sidecar definition(s) as string | Un-set | | `metrics.resources` | CPU/Memory resource requests/limits for the metrics exporter | `{}` |
| `extraVolumes` | Volume definitions to add as string | Un-set | | `extraContainers` | Container sidecar definition(s) as string | Un-set |
| `extraVolumes` | Volume definitions to add as string | Un-set |
| `kind` | Install as StatefulSet or Deployment | StatefulSet |
| `podAnnotations` | Map of annotations to add to the pod(s) | `{}` |
| `podLabels` | Custom Labels to be applied to statefulset | Un-set |
| `nodeSelector` | Simple pod scheduling control | `{}` |
| `tolerations` | Allow or deny specific node taints | `{}` |
| `affinity` | Advanced pod scheduling control | `{}` |
| `securityContext.enabled` | Enable security context | `true` |
| `securityContext.fsGroup` | Group ID for the container | `1001` |
| `securityContext.runAsUser`| User ID for the container | `1001` |
The above parameters map to `memcached` params. For more information please refer to the [Memcached documentation](https://github.com/memcached/memcached/wiki/ConfiguringServer). The above parameters map to `memcached` params. For more information please refer to the [Memcached documentation](https://github.com/memcached/memcached/wiki/ConfiguringServer).
......
...@@ -4,6 +4,5 @@ ...@@ -4,6 +4,5 @@
Based on the [memcached](https://github.com/bitnami/charts/tree/master/bitnami/memcached) chart from the [Bitnami Charts](https://github.com/bitnami/charts) repository. Based on the [memcached](https://github.com/bitnami/charts/tree/master/bitnami/memcached) chart from the [Bitnami Charts](https://github.com/bitnami/charts) repository.
## Introduction ### Upgrade Notes:
Upgrading from version < 2.9.0 requires to select the `delete and recreate` option.
This chart bootstraps a [Memcached](https://hub.docker.com/_/memcached/) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
categories: categories:
- Cache - Cache
labels:
io.cattle.role: project # options are cluster/project
rancher_min_version: 2.3
questions: questions:
- variable: defaultImage - variable: defaultImage
default: "true" default: "true"
...@@ -10,15 +13,10 @@ questions: ...@@ -10,15 +13,10 @@ questions:
group: "Container Images" group: "Container Images"
subquestions: subquestions:
- variable: image - variable: image
default: "memcached" default: "memcached:1.5.12-alpine"
description: "Memcached Docker image" description: "Memcached Docker image"
type: string type: string
label: Memcached Docker Image label: Memcached Docker Image
- variable: imageTag
default: "1.5.6-alpine"
description: "memcached Docker image tag"
type: string
label: Memcached Docker Image Tag
- variable: replicaCount - variable: replicaCount
default: "3" default: "3"
description: "Number or Memcached pods to run" description: "Number or Memcached pods to run"
...@@ -69,14 +67,8 @@ questions: ...@@ -69,14 +67,8 @@ questions:
group: "Metrics Settings" group: "Metrics Settings"
subquestions: subquestions:
- variable: metrics.image - variable: metrics.image
default: "quay.io/prometheus/memcached-exporter" default: "ranchercharts/prometheus-memcached-exporter:v0.4.1"
description: "Docker repository of memcached metrics exporter" description: "Docker repository of memcached metrics exporter"
type: string type: string
label: Metrics Image Repository label: Metrics Image Repository
required: true required: true
- variable: metrics.imageTag
default: "v0.4.1"
description: "memcached metrics image tag"
type: string
required: true
label: Metrics Image Tag
...@@ -2,6 +2,11 @@ apiVersion: policy/v1beta1 ...@@ -2,6 +2,11 @@ apiVersion: policy/v1beta1
kind: PodDisruptionBudget kind: PodDisruptionBudget
metadata: metadata:
name: {{ template "memcached.fullname" . }} name: {{ template "memcached.fullname" . }}
labels:
app: {{ template "memcached.fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec: spec:
selector: selector:
matchLabels: matchLabels:
...@@ -10,4 +15,3 @@ spec: ...@@ -10,4 +15,3 @@ spec:
release: "{{ .Release.Name }}" release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}" heritage: "{{ .Release.Service }}"
minAvailable: {{ .Values.pdbMinAvailable }} minAvailable: {{ .Values.pdbMinAvailable }}
\ No newline at end of file
apiVersion: apps/v1beta1 apiVersion: apps/v1
kind: StatefulSet kind: {{ .Values.kind }}
metadata: metadata:
name: {{ template "memcached.fullname" . }} name: {{ template "memcached.fullname" . }}
labels: labels:
...@@ -8,8 +8,14 @@ metadata: ...@@ -8,8 +8,14 @@ metadata:
release: "{{ .Release.Name }}" release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}" heritage: "{{ .Release.Service }}"
spec: spec:
{{- if eq .Values.kind "StatefulSet" }}
serviceName: {{ template "memcached.fullname" . }} serviceName: {{ template "memcached.fullname" . }}
{{- end }}
replicas: {{ .Values.replicaCount }} replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ template "memcached.fullname" . }}
release: "{{ .Release.Name }}"
template: template:
metadata: metadata:
labels: labels:
...@@ -17,7 +23,18 @@ spec: ...@@ -17,7 +23,18 @@ spec:
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}" release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}" heritage: "{{ .Release.Service }}"
{{- with .Values.podLabels }}
{{ toYaml . | indent 8 }}
{{- end}}
{{- with .Values.podAnnotations }}
annotations:
{{ toYaml . | indent 8 }}
{{- end }}
spec: spec:
{{- if .Values.securityContext.enabled }}
securityContext:
fsGroup: {{ .Values.securityContext.fsGroup }}
{{- end }}
affinity: affinity:
podAntiAffinity: podAntiAffinity:
{{- if eq .Values.AntiAffinity "hard" }} {{- if eq .Values.AntiAffinity "hard" }}
...@@ -39,11 +56,15 @@ spec: ...@@ -39,11 +56,15 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: {{ template "memcached.fullname" . }} - name: {{ template "memcached.fullname" . }}
image: {{ .Values.image }}:{{ .Values.imageTag }} image: {{ .Values.image }}
imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }} imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
{{- if .Values.securityContext.enabled }}
securityContext:
runAsUser: {{ .Values.securityContext.runAsUser }}
{{- end }}
command: command:
- memcached - memcached
- -m {{ .Values.memcached.maxItemMemory }} - -m {{ .Values.memcached.maxItemMemory }}
{{- if .Values.memcached.extendedOptions }} {{- if .Values.memcached.extendedOptions }}
- -o - -o
- {{ .Values.memcached.extendedOptions }} - {{ .Values.memcached.extendedOptions }}
...@@ -51,6 +72,9 @@ spec: ...@@ -51,6 +72,9 @@ spec:
{{- if .Values.memcached.verbosity }} {{- if .Values.memcached.verbosity }}
- -{{ .Values.memcached.verbosity }} - -{{ .Values.memcached.verbosity }}
{{- end }} {{- end }}
{{- with .Values.memcached.extraArgs }}
{{ toYaml . | indent 8 }}
{{- end }}
ports: ports:
- name: memcache - name: memcache
containerPort: 11211 containerPort: 11211
...@@ -68,8 +92,12 @@ spec: ...@@ -68,8 +92,12 @@ spec:
{{ toYaml .Values.resources | indent 10 }} {{ toYaml .Values.resources | indent 10 }}
{{- if .Values.metrics.enabled }} {{- if .Values.metrics.enabled }}
- name: metrics - name: metrics
image: {{ .Values.metrics.image }}:{{ .Values.metrics.imageTag }} image: {{ .Values.metrics.image }}
imagePullPolicy: {{ default "" .Values.metrics.imagePullPolicy | quote }} imagePullPolicy: {{ default "" .Values.metrics.imagePullPolicy | quote }}
{{- if .Values.securityContext.enabled }}
securityContext:
runAsUser: {{ .Values.securityContext.runAsUser }}
{{- end }}
ports: ports:
- name: metrics - name: metrics
containerPort: 9150 containerPort: 9150
...@@ -87,3 +115,11 @@ spec: ...@@ -87,3 +115,11 @@ spec:
nodeSelector: nodeSelector:
{{ toYaml . | trim | indent 8}} {{ toYaml . | trim | indent 8}}
{{- end }} {{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | trim | indent 8}}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | trim | indent 8}}
{{- end }}
## Memcached image and tag ## Memcached image and tag
## ref: https://hub.docker.com/r/library/memcached/tags/ ## ref: https://hub.docker.com/r/library/memcached/tags/
## ##
image: memcached image: ranchercharts/memcached:1.5.12-alpine
imageTag: 1.5.6-alpine
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## 'Always' if imageTag is 'latest', else set to 'IfNotPresent' ## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
...@@ -30,10 +29,19 @@ memcached: ...@@ -30,10 +29,19 @@ memcached:
verbosity: v verbosity: v
extendedOptions: modern extendedOptions: modern
## Additional command line arguments to pass to memcached
## E.g. to specify a maximum value size
## extraArgs:
## - -I 2m
extraArgs: []
## Define various attributes of the service ## Define various attributes of the service
serviceAnnotations: {} serviceAnnotations: {}
# prometheus.io/scrape: "true" # prometheus.io/scrape: "true"
## StatefulSet or Deployment
kind: StatefulSet
## Configure resource requests and limits ## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
## ##
...@@ -42,15 +50,30 @@ resources: ...@@ -42,15 +50,30 @@ resources:
memory: 64Mi memory: 64Mi
cpu: 50m cpu: 50m
## Key:value pair for assigning pod to specific sets of nodes
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
nodeSelector: {} nodeSelector: {}
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: {}
## Advanced scheduling controls
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
affinity: {}
## Memcached pod Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext:
enabled: true
fsGroup: 1001
runAsUser: 1001
metrics: metrics:
## Expose memcached metrics in Prometheus format ## Expose memcached metrics in Prometheus format
enabled: false enabled: false
## Memcached exporter image and tag ## Memcached exporter image and tag
image: quay.io/prometheus/memcached-exporter image: ranchercharts/prometheus-memcached-exporter:v0.4.1
imageTag: v0.4.1
annotations: annotations:
prometheus.io/scrape: "true" prometheus.io/scrape: "true"
...@@ -70,3 +93,11 @@ metrics: ...@@ -70,3 +93,11 @@ metrics:
extraContainers: | extraContainers: |
extraVolumes: | extraVolumes: |
## Custom metadata labels to be applied to statefulset and pods
# podLabels:
# foo: "bar"
# bar: "foo"
# To be added to the server pod(s)
podAnnotations: {}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment