diff --git a/infrastructure/kube-system/poddisruptionbudget.yaml b/infrastructure/kube-system/poddisruptionbudget.yaml index d394efaa2039eff048300b3d52b3ca35655da56b..cfe2b4b1e3bbe6232a48d7db9397347fcc8544aa 100644 --- a/infrastructure/kube-system/poddisruptionbudget.yaml +++ b/infrastructure/kube-system/poddisruptionbudget.yaml @@ -12,12 +12,12 @@ spec: apiVersion: policy/v1 kind: PodDisruptionBudget metadata: - name: etcd + name: quorum namespace: kube-system spec: maxUnavailable: 1 selector: matchLabels: - component: etcd + component: quorum tier: control-plane diff --git a/infrastructure/kube-system/quorum.yaml b/infrastructure/kube-system/quorum.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4b95c6e1266dc6d0b889488abc9bc31679b76284 --- /dev/null +++ b/infrastructure/kube-system/quorum.yaml @@ -0,0 +1,43 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: quorum + namespace: kube-system + labels: + component: quorum + tier: control-plane +spec: + replicas: 3 + selector: + matchLabels: + component: quorum + tier: control-plane + template: + metadata: + labels: + component: quorum + tier: control-plane + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: Exists + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: component + operator: In + values: + - quorum + topologyKey: kubernetes.io/hostname + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: pause + image: k8s.gcr.io/pause