Use apps/v1 k8s controllers and add labels

Daemonset update strategy defaults to OnDelete in v1beta1, whereas
it defaults to RollingUpdate in v1, which seems prefereable.

This also adds helm-toolkit based labels at the controller level
to match standard usage such as for example by armada as wait labels.

This change has been tested using the promenade resiliency gate.

Change-Id: I9fd1bc4caedc0a6717b779e5333640ca8dc78b7e
This commit is contained in:
Sean Eagan 2019-02-20 16:04:12 -06:00
parent 56f163895b
commit 2e2a30515c
11 changed files with 66 additions and 22 deletions

View File

@ -18,19 +18,25 @@ limitations under the License.
{{- $envAll := . }} {{- $envAll := . }}
{{- $mounts_kubernetes_apiserver := .Values.pod.mounts.kubernetes_apiserver.kubernetes_apiserver }} {{- $mounts_kubernetes_apiserver := .Values.pod.mounts.kubernetes_apiserver.kubernetes_apiserver }}
{{- $mounts_kubernetes_apiserver_init := .Values.pod.mounts.kubernetes_apiserver.init_container }} {{- $mounts_kubernetes_apiserver_init := .Values.pod.mounts.kubernetes_apiserver.init_container }}
{{- $labels := tuple $envAll "kubernetes" "kubernetes-apiserver-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: "extensions/v1beta1" apiVersion: "apps/v1"
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: {{ .Values.service.name }}-anchor name: {{ .Values.service.name }}-anchor
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "kubernetes-apiserver-anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} {{ tuple $envAll "kubernetes-apiserver-anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template: template:
metadata: metadata:
labels: labels:
{{ tuple $envAll "kubernetes" "kubernetes-apiserver-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
annotations: annotations:
scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/critical-pod: ''
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}

View File

@ -18,19 +18,25 @@ limitations under the License.
{{- $envAll := . }} {{- $envAll := . }}
{{- $mounts_controller_manager := .Values.pod.mounts.controller_manager.controller_manager }} {{- $mounts_controller_manager := .Values.pod.mounts.controller_manager.controller_manager }}
{{- $mounts_controller_manager_init := .Values.pod.mounts.controller_manager.init_container }} {{- $mounts_controller_manager_init := .Values.pod.mounts.controller_manager.init_container }}
{{- $labels := tuple $envAll "kubernetes" "kubernetes-controller-manager-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: "extensions/v1beta1" apiVersion: "apps/v1"
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: {{ .Values.service.name }}-anchor name: {{ .Values.service.name }}-anchor
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "kubernetes-controller-manager-anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} {{ tuple $envAll "kubernetes-controller-manager-anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template: template:
metadata: metadata:
labels: labels:
{{ tuple $envAll "kubernetes" "kubernetes-controller-manager-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
annotations: annotations:
scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/critical-pod: ''
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}

View File

@ -15,12 +15,14 @@ limitations under the License.
*/}} */}}
{{- $envAll := . }} {{- $envAll := . }}
{{- $labels := tuple $envAll "kubernetes" "coredns" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: coredns name: coredns
labels: labels:
{{ $labels | indent 4 }}
{{ .Values.service.name }}: enabled {{ .Values.service.name }}: enabled
kubernetes.io/name: "CoreDNS" kubernetes.io/name: "CoreDNS"
annotations: annotations:
@ -33,11 +35,12 @@ spec:
maxUnavailable: 1 maxUnavailable: 1
selector: selector:
matchLabels: matchLabels:
{{ $labels | indent 6 }}
{{ .Values.service.name }}: enabled {{ .Values.service.name }}: enabled
template: template:
metadata: metadata:
labels: labels:
{{ tuple $envAll "kubernetes" "coredns" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
{{ .Values.service.name }}: enabled {{ .Values.service.name }}: enabled
annotations: annotations:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}

View File

@ -23,7 +23,7 @@ roleRef:
name: system:coredns name: system:coredns
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
--- ---
apiVersion: rbac.authorization.k8s.io/v1beta1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
labels: labels:

View File

@ -21,21 +21,27 @@ limitations under the License.
# Note that application can either be kubernetes or calico for now # Note that application can either be kubernetes or calico for now
# and may expand in scope in the future # and may expand in scope in the future
{{- $applicationName := .Values.service.name | replace "-etcd" "" }} {{- $applicationName := .Values.service.name | replace "-etcd" "" }}
{{- $labels := tuple $envAll $applicationName "etcd-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: {{ .Values.service.name }}-anchor name: {{ .Values.service.name }}-anchor
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} {{ tuple $envAll "anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template: template:
metadata: metadata:
annotations: annotations:
scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/critical-pod: ''
labels: labels:
{{ tuple $envAll $applicationName "etcd-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
spec: spec:
hostNetwork: true hostNetwork: true
{{- if .Values.anchor.dns_policy }} {{- if .Values.anchor.dns_policy }}

View File

@ -15,19 +15,25 @@ limitations under the License.
*/}} */}}
{{- $envAll := . }} {{- $envAll := . }}
{{- $labels := tuple $envAll "kubernetes" "haproxy-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: haproxy-anchor name: haproxy-anchor
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "haproxy_anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} {{ tuple $envAll "haproxy_anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template: template:
metadata: metadata:
labels: labels:
{{ tuple $envAll "kubernetes" "haproxy-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
annotations: annotations:
scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/critical-pod: ''
spec: spec:

View File

@ -16,20 +16,26 @@ limitations under the License.
{{- if .Values.manifests.deployment_api }} {{- if .Values.manifests.deployment_api }}
{{- $envAll := . }} {{- $envAll := . }}
{{- $labels := tuple $envAll "promenade" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: extensions/v1beta1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: promenade-api name: promenade-api
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
replicas: {{ .Values.pod.replicas.api }} replicas: {{ .Values.pod.replicas.api }}
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }} {{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
template: template:
metadata: metadata:
labels: labels:
{{ tuple $envAll "promenade" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
annotations: annotations:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}

View File

@ -16,20 +16,25 @@ limitations under the License.
{{- if .Values.manifests.daemonset_proxy }} {{- if .Values.manifests.daemonset_proxy }}
{{- $envAll := . }} {{- $envAll := . }}
{{- $labels := tuple $envAll "kubernetes" "proxy" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: "extensions/v1beta1" apiVersion: "apps/v1"
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: kubernetes-proxy name: kubernetes-proxy
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "proxy" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} {{ tuple $envAll "proxy" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template: template:
metadata: metadata:
labels: labels:
{{ tuple $envAll "kubernetes" "proxy" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
annotations: annotations:
scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/critical-pod: ''
spec: spec:

View File

@ -22,7 +22,7 @@ metadata:
addonmanager.kubernetes.io/mode: Reconcile addonmanager.kubernetes.io/mode: Reconcile
--- ---
kind: ClusterRoleBinding kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: system:kube-proxy name: system:kube-proxy
labels: labels:
@ -34,4 +34,4 @@ subjects:
roleRef: roleRef:
kind: ClusterRole kind: ClusterRole
name: system:node-proxier name: system:node-proxier
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io

View File

@ -15,14 +15,20 @@ limitations under the License.
*/}} */}}
{{- $envAll := . }} {{- $envAll := . }}
{{- $labels := tuple $envAll "kubernetes" "kubernetes-scheduler-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
--- ---
apiVersion: "extensions/v1beta1" apiVersion: "apps/v1"
kind: DaemonSet kind: DaemonSet
metadata: metadata:
name: kubernetes-scheduler-anchor name: kubernetes-scheduler-anchor
labels:
{{ $labels | indent 4 }}
annotations: annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec: spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "scheduler" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }} {{ tuple $envAll "scheduler" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template: template:
metadata: metadata:
@ -31,7 +37,7 @@ spec:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
labels: labels:
{{ tuple $envAll "kubernetes" "kubernetes-scheduler-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }} {{ $labels | indent 8 }}
spec: spec:
hostNetwork: true hostNetwork: true
dnsPolicy: {{ .Values.anchor.dns_policy }} dnsPolicy: {{ .Values.anchor.dns_policy }}

View File

@ -12,7 +12,7 @@ metadata:
name: sonobuoy-serviceaccount name: sonobuoy-serviceaccount
namespace: heptio-sonobuoy namespace: heptio-sonobuoy
--- ---
apiVersion: rbac.authorization.k8s.io/v1beta1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
labels: labels:
@ -27,7 +27,7 @@ subjects:
name: sonobuoy-serviceaccount name: sonobuoy-serviceaccount
namespace: heptio-sonobuoy namespace: heptio-sonobuoy
--- ---
apiVersion: rbac.authorization.k8s.io/v1beta1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
labels: labels: