Use official labels exclusively

This commit is contained in:
juan131
2019-05-07 13:56:58 +02:00
parent 5ba0d7f967
commit 752c8f7362
14 changed files with 112 additions and 141 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
apiVersion: v1
name: zookeeper
version: 1.8.0
version: 2.0.0
appVersion: 3.4.14
description: A centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services for distributed applications.
keywords:
+12 -3
View File
@@ -108,8 +108,8 @@ The following tables lists the configurable parameters of the Zookeeper chart an
| `metrics.image.tag` | ZooKeeper exporter image tag | `latest` |
| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `nil` |
| `metrics.podLabels` | Additional labels for Metrics exporter pod | {} |
| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | {} |
| `metrics.podLabels` | Additional labels for Metrics exporter pod | `{}` |
| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{prometheus.io/scrape: "true", prometheus.io/port: "9141"}` |
| `metrics.resources` | Exporter resource requests/limit | Memory: `256Mi`, CPU: `100m` |
| `metrics.tolerations` | Exporter toleration labels for pod assignment | `[]` |
@@ -140,11 +140,20 @@ See the [Configuration](#configuration) section to configure the PVC or to disab
## Upgrading
### To 2.0.0
Backwards compatibility is not guaranteed unless you modify the labels used on the chart's statefulsets.
Use the workaround below to upgrade from versions previous to 2.0.0. The following example assumes that the release name is `zookeeper`:
```console
$ kubectl delete statefulset zookeeper-zookeeper --cascade=false
```
### To 1.0.0
Backwards compatibility is not guaranteed unless you modify the labels used on the chart's deployments.
Use the workaround below to upgrade from versions previous to 1.0.0. The following example assumes that the release name is zookeeper:
```console
$ kubectl delete statefulset zookeeper --cascade=false
$ kubectl delete statefulset zookeeper-zookeeper --cascade=false
```
+1 -1
View File
@@ -23,7 +23,7 @@ ZooKeeper can be accessed via port 2181 on the following DNS name from within yo
To connect to your ZooKeeper server run the following commands:
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "zookeeper.name" . }}" -o jsonpath="{.items[0].metadata.name}")
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ template "zookeeper.name" . }},app.kubernetes.io/instance={{ .Release.Name }},app.kubernetes.io/component=zookeeper" -o jsonpath="{.items[0].metadata.name}")
kubectl exec -it $POD_NAME -- zkCli.sh
To connect to your ZooKeeper server from outside the cluster execute the following commands:
+22
View File
@@ -102,3 +102,25 @@ imagePullSecrets:
{{- end }}
{{- end -}}
{{- end -}}
{{/*
Return ZooKeeper Client Password
*/}}
{{- define "zookeeper.clientPassword" -}}
{{- if .Values.auth.clientPassword -}}
{{- .Values.auth.clientPassword -}}
{{- else -}}
{{- randAlphaNum 10 -}}
{{- end -}}
{{- end -}}
{{/*
Return ZooKeeper Servers Passwords
*/}}
{{- define "zookeeper.serverPasswords" -}}
{{- if .Values.auth.serverPasswords -}}
{{- .Values.auth.serverPasswords -}}
{{- else -}}
{{- randAlphaNum 10 -}}
{{- end -}}
{{- end -}}
+2 -6
View File
@@ -4,14 +4,10 @@ kind: ConfigMap
metadata:
name: {{ template "zookeeper.fullname" . }}
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
data:
zoo.cfg: |-
{{ .Values.config | indent 4 }}
@@ -4,38 +4,36 @@ kind: Deployment
metadata:
name: {{ template "zookeeper.fullname" . }}-exporter
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: metrics
spec:
replicas: 1
selector:
matchLabels:
app: {{ template "zookeeper.name" . }}
release: "{{ .Release.Name }}"
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: metrics
template:
metadata:
annotations:
{{ toYaml .Values.metrics.podAnnotations | indent 8 }}
{{- if .Values.metrics.podAnnotations }}
annotations: {{ toYaml .Values.metrics.podAnnotations | nindent 8 }}
{{- end }}
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: "{{ .Release.Name }}"
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/component: metrics
{{- if .Values.metrics.podLabels }}
{{ toYaml .Values.metrics.podLabels | indent 8 }}
{{- end }}
spec:
{{- include "zookeeper.imagePullSecrets" . | indent 6 }}
{{- if .Values.metrics.tolerations }}
tolerations: {{ toYaml .Values.metrics.tolerations | nindent 8 }}
{{- end }}
containers:
- image: {{ template "zookeeper.metrics.image" . }}
name: zookeeper-exporter
@@ -53,6 +51,5 @@ spec:
ports:
- name: metrics
containerPort: 8080
resources:
{{ toYaml .Values.metrics.resources | indent 10 }}
resources: {{ toYaml .Values.metrics.resources | nindent 10 }}
{{- end }}
+6 -12
View File
@@ -4,25 +4,19 @@ kind: Service
metadata:
name: {{ template "zookeeper.fullname" . }}-exporter
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: metrics
spec:
type: ClusterIP
ports:
- name: metrics
port: 8080
port: 9141
targetPort: metrics
selector:
app: {{ template "zookeeper.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: metrics
{{- end }}
@@ -1,25 +1,20 @@
{{- if gt .Values.replicaCount 1.0 -}}
{{- $replicaCount := int .Values.replicaCount }}
{{- if gt $replicaCount 1 }}
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: {{ template "zookeeper.fullname" . }}
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: zookeeper
spec:
selector:
matchLabels:
app: {{ template "zookeeper.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}-metrics
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: zookeeper
{{ toYaml .Values.podDisruptionBudget | indent 2 }}
{{- end }}
+4 -16
View File
@@ -4,24 +4,12 @@ kind: Secret
metadata:
name: "{{ template "zookeeper.fullname" . }}"
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
type: Opaque
data:
{{- if .Values.auth.clientPassword }}
client-password: {{ .Values.auth.clientPassword | b64enc | quote }}
{{ else }}
client-password: {{ randAlphaNum 10 | b64enc | quote }}
{{- end }}
{{- if .Values.auth.serverPasswords }}
server-password: {{ .Values.auth.serverPasswords | b64enc | quote }}
{{- else }}
server-password: {{ randAlphaNum 10 | b64enc | quote }}
{{- end }}
client-password: {{ include "zookeeper.clientPassword" . | b64enc | quote }}
server-password: {{ include "zookeeper.serverPasswords" . | b64enc | quote }}
{{- end }}
+21 -35
View File
@@ -3,21 +3,17 @@ kind: StatefulSet
metadata:
name: "{{ template "zookeeper.fullname" . }}"
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: zookeeper
spec:
serviceName: {{ template "zookeeper.fullname" . }}-headless
replicas: {{ .Values.replicaCount }}
podManagementPolicy: {{ .Values.podManagementPolicy | quote }}
podManagementPolicy: {{ .Values.podManagementPolicy }}
updateStrategy:
type: {{ .Values.updateStrategy | quote }}
type: {{ .Values.updateStrategy }}
{{- if (eq "Recreate" .Values.updateStrategy) }}
rollingUpdate: null
{{- else if .Values.rollingUpdatePartition }}
@@ -26,45 +22,40 @@ spec:
{{- end }}
selector:
matchLabels:
app: {{ template "zookeeper.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: zookeeper
template:
metadata:
name: "{{ template "zookeeper.fullname" . }}"
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: zookeeper
spec:
{{- include "zookeeper.imagePullSecrets" . | indent 6 }}
{{- if .Values.securityContext.enabled }}
securityContext:
fsGroup: {{ .Values.securityContext.fsGroup }}
runAsUser: {{ .Values.securityContext.runAsUser }}
{{- end }}
{{- if .Values.nodeSelector }}
nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
{{- end }}
{{- if .Values.tolerations }}
tolerations:
{{ toYaml .Values.tolerations | indent 8 }}
tolerations: {{ toYaml .Values.tolerations | nindent 8 }}
{{- end }}
{{- if .Values.affinity }}
affinity:
{{ toYaml .Values.affinity | indent 8 }}
affinity: {{ toYaml .Values.affinity | nindent 8 }}
{{- end }}
containers:
- name: "{{ template "zookeeper.fullname" . }}"
image: "{{ template "zookeeper.image" . }}"
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
{{- if .Values.securityContext.enabled }}
securityContext:
runAsUser: {{ .Values.securityContext.runAsUser }}
{{- end }}
command:
- bash
- -ec
@@ -84,8 +75,7 @@ spec:
. /init.sh
nami_initialize zookeeper
exec tini -- /run.sh
resources:
{{ toYaml .Values.resources | indent 10 }}
resources: {{ toYaml .Values.resources | nindent 10 }}
env:
- name: ZOO_PORT_NUMBER
value: {{ .Values.service.port | quote }}
@@ -104,10 +94,10 @@ spec:
{{- $releaseNamespace := .Release.Namespace }}
{{- $zookeeperFullname := include "zookeeper.fullname" . }}
{{- $zookeeperHeadlessServiceName := printf "%s-%s" $zookeeperFullname "headless" | trunc 63 }}
value: {{range $i, $e := until $replicaCount }}{{ $zookeeperFullname }}-{{ $e }}.{{ $zookeeperHeadlessServiceName }}.{{ $releaseNamespace }}.svc.cluster.local:{{ $followerPort }}:{{ $electionPort }} {{ end }}
{{- if .Values.auth.enabled }}
value: {{ range $i, $e := until $replicaCount }}{{ $zookeeperFullname }}-{{ $e }}.{{ $zookeeperHeadlessServiceName }}.{{ $releaseNamespace }}.svc.cluster.local:{{ $followerPort }}:{{ $electionPort }} {{ end }}
- name: ZOO_ENABLE_AUTH
value: "yes"
value: {{ ternary "yes" "no" .Values.auth.enabled | quote }}
{{- if .Values.auth.enabled }}
- name: ZOO_CLIENT_USER
value: {{ .Values.auth.clientUser | quote }}
- name: ZOO_CLIENT_PASSWORD
@@ -126,11 +116,7 @@ spec:
- name: ZOO_HEAP_SIZE
value: {{ .Values.heapSize | quote }}
- name: ALLOW_ANONYMOUS_LOGIN
{{- if .Values.allowAnonymousLogin }}
value: "yes"
{{- else }}
value: "no"
{{- end }}
value: {{ ternary "yes" "no" .Values.allowAnonymousLogin | quote }}
{{- if .Values.jvmFlags }}
- name: JVMFLAGS
value: {{ .Values.jvmFlags | quote }}
+5 -11
View File
@@ -3,15 +3,11 @@ kind: Service
metadata:
name: {{ template "zookeeper.fullname" . }}-headless
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: zookeeper
spec:
type: ClusterIP
clusterIP: None
@@ -26,8 +22,6 @@ spec:
port: 3888
targetPort: election
selector:
app: {{ template "zookeeper.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: zookeeper
+5 -11
View File
@@ -3,15 +3,11 @@ kind: Service
metadata:
name: {{ template "zookeeper.fullname" . }}
labels:
app: {{ template "zookeeper.name" . }}
chart: {{ template "zookeeper.chart" . }}
release: {{ .Release.Name | quote }}
heritage: {{ .Release.Service | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
helm.sh/chart: {{ template "zookeeper.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/component: zookeeper
spec:
type: {{ .Values.service.type }}
ports:
@@ -25,8 +21,6 @@ spec:
port: 3888
targetPort: election
selector:
app: {{ template "zookeeper.name" . }}
release: {{ .Release.Name | quote }}
app.kubernetes.io/name: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: {{ template "zookeeper.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/component: zookeeper
+5 -7
View File
@@ -41,7 +41,7 @@ updateStrategy: RollingUpdate
## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions
##
podDisruptionBudget:
maxUnavailable: 1
maxUnavailable: 1
## Partition update strategy
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
@@ -198,19 +198,17 @@ metrics:
# pullSecrets:
# - myRegistryKeySecretName
## Metrics exporter pod Annotation and Labels
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/port: "9141"
podLabels: {}
## Metrics exporter resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
# resources: {}
resources: {}
## Metrics exporter labels and tolerations for pod assignment
# nodeSelector: {"beta.kubernetes.io/arch": "amd64"}
# tolerations: []
## Metrics exporter pod Annotation and Labels
# podAnnotations: {}
# podLabels: {}
+5 -7
View File
@@ -41,7 +41,7 @@ updateStrategy: RollingUpdate
## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions
##
podDisruptionBudget:
maxUnavailable: 1
maxUnavailable: 1
## Partition update strategy
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
@@ -198,19 +198,17 @@ metrics:
# pullSecrets:
# - myRegistryKeySecretName
## Metrics exporter pod Annotation and Labels
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/port: "9141"
podLabels: {}
## Metrics exporter resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
# resources: {}
resources: {}
## Metrics exporter labels and tolerations for pod assignment
# nodeSelector: {"beta.kubernetes.io/arch": "amd64"}
# tolerations: []
## Metrics exporter pod Annotation and Labels
# podAnnotations: {}
# podLabels: {}