mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
29 lines
854 B
YAML
29 lines
854 B
YAML
|
apiVersion: kyverno.io/v1
|
||
|
kind: ClusterPolicy
|
||
|
metadata:
|
||
|
name: spread-pods
|
||
|
spec:
|
||
|
rules:
|
||
|
- name: spread-pods-across-nodes
|
||
|
# Matches any Deployment with the label `distributed=required`
|
||
|
match:
|
||
|
resources:
|
||
|
kinds:
|
||
|
- Deployment
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
distributed: required
|
||
|
# Mutates the incoming Deployment.
|
||
|
mutate:
|
||
|
patchStrategicMerge:
|
||
|
spec:
|
||
|
template:
|
||
|
spec:
|
||
|
# Adds the topologySpreadConstraints field if non-existent in the request.
|
||
|
+(topologySpreadConstraints):
|
||
|
- maxSkew: 1
|
||
|
topologyKey: zone
|
||
|
whenUnsatisfiable: DoNotSchedule
|
||
|
labelSelector:
|
||
|
matchLabels:
|
||
|
distributed: required
|