Add PDB and topology constraints for NTH

This commit is contained in:
Ole Markus With 2022-04-02 20:07:58 +02:00
parent 5cbb338528
commit 8c235f363d
3 changed files with 70 additions and 1 deletions

View File

@ -47,7 +47,7 @@ spec:
version: 9.99.0
- id: k8s-1.11
manifest: node-termination-handler.aws/k8s-1.11.yaml
manifestHash: 99a2738356bc31978f60b253f83eeea29dd1d868b5b0203ef86d4c52dc4b45bc
manifestHash: e8aeccc2a21370e9579e49c153c5e46c92a3bc705bcc2545957133dadd395114
name: node-termination-handler.aws
prune:
kinds:
@ -73,6 +73,8 @@ spec:
- group: policy
kind: PodDisruptionBudget
labelSelector: addon.kops.k8s.io/name=node-termination-handler.aws,app.kubernetes.io/managed-by=kops
namespaces:
- kube-system
- group: rbac.authorization.k8s.io
kind: ClusterRole
labelSelector: addon.kops.k8s.io/name=node-termination-handler.aws,app.kubernetes.io/managed-by=kops

View File

@ -231,3 +231,39 @@ spec:
serviceAccountName: aws-node-termination-handler
tolerations:
- operator: Exists
topologySpreadConstraints:
- labelSelector:
matchLabels:
io.cilium/app: operator
name: cilium-operator
maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: ScheduleAnyway
- labelSelector:
matchLabels:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/name: aws-node-termination-handler
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: node-termination-handler.aws
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-node-termination-handler
k8s-addon: node-termination-handler.aws
name: aws-node-termination-handler
namespace: kube-system
spec:
maxUnavailable: 1
selector:
matchLabels:
app.kubernetes.io/instance: aws-node-termination-handler
app.kubernetes.io/name: aws-node-termination-handler

View File

@ -215,6 +215,37 @@ spec:
tolerations:
- operator: Exists
{{ end }}
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "topology.kubernetes.io/zone"
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
io.cilium/app: operator
name: cilium-operator
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: aws-node-termination-handler
namespace: kube-system
labels:
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
spec:
selector:
matchLabels:
app.kubernetes.io/name: aws-node-termination-handler
app.kubernetes.io/instance: aws-node-termination-handler
maxUnavailable: 1
{{ else }}
---
# Source: aws-node-termination-handler/templates/daemonset.linux.yaml