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 := . }}
{{- $mounts_kubernetes_apiserver := .Values.pod.mounts.kubernetes_apiserver.kubernetes_apiserver }}
{{- $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
metadata:
name: {{ .Values.service.name }}-anchor
labels:
{{ $labels | indent 4 }}
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "kubernetes-apiserver-anchor" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template:
metadata:
labels:
{{ tuple $envAll "kubernetes" "kubernetes-apiserver-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
{{ $labels | indent 8 }}
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -16,20 +16,26 @@ limitations under the License.
{{- if .Values.manifests.deployment_api }}
{{- $envAll := . }}
{{- $labels := tuple $envAll "promenade" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
---
apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: Deployment
metadata:
name: promenade-api
labels:
{{ $labels | indent 4 }}
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
replicas: {{ .Values.pod.replicas.api }}
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
template:
metadata:
labels:
{{ tuple $envAll "promenade" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
{{ $labels | indent 8 }}
annotations:
configmap-bin-hash: {{ tuple "configmap-bin.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 }}
{{- $envAll := . }}
{{- $labels := tuple $envAll "kubernetes" "proxy" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
---
apiVersion: "extensions/v1beta1"
apiVersion: "apps/v1"
kind: DaemonSet
metadata:
name: kubernetes-proxy
labels:
{{ $labels | indent 4 }}
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "proxy" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template:
metadata:
labels:
{{ tuple $envAll "kubernetes" "proxy" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
{{ $labels | indent 8 }}
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
spec:

View File

@ -22,7 +22,7 @@ metadata:
addonmanager.kubernetes.io/mode: Reconcile
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: system:kube-proxy
labels:
@ -34,4 +34,4 @@ subjects:
roleRef:
kind: ClusterRole
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 := . }}
{{- $labels := tuple $envAll "kubernetes" "kubernetes-scheduler-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
---
apiVersion: "extensions/v1beta1"
apiVersion: "apps/v1"
kind: DaemonSet
metadata:
name: kubernetes-scheduler-anchor
labels:
{{ $labels | indent 4 }}
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
selector:
matchLabels:
{{ $labels | indent 6 }}
{{ tuple $envAll "scheduler" | include "helm-toolkit.snippets.kubernetes_upgrades_daemonset" | indent 2 }}
template:
metadata:
@ -31,7 +37,7 @@ spec:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
labels:
{{ tuple $envAll "kubernetes" "kubernetes-scheduler-anchor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
{{ $labels | indent 8 }}
spec:
hostNetwork: true
dnsPolicy: {{ .Values.anchor.dns_policy }}

View File

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