apiVersion: apps/v1 kind: Deployment metadata: name: spread-undefined namespace: rossum labels: app.kubernetes.io/name: spread-undefined spec: selector: matchLabels: app.kubernetes.io/name: spread-undefined template: metadata: labels: app.kubernetes.io/name: spread-undefined spec: containers: - name: busybox image: busybox --- apiVersion: apps/v1 kind: Deployment metadata: name: spread-same-topology namespace: rossum labels: app.kubernetes.io/name: spread-same-topology spec: selector: matchLabels: app.kubernetes.io/name: spread-same-topology template: metadata: labels: app.kubernetes.io/name: spread-same-topology spec: containers: - name: busybox image: busybox topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: app.kubernetes.io/name: spread-same-topology --- apiVersion: apps/v1 kind: Deployment metadata: name: spread-same-topology-different-settings namespace: rossum labels: app.kubernetes.io/name: spread-same-topology-different-settings spec: selector: matchLabels: app.kubernetes.io/name: spread-same-topology-different-settings template: metadata: labels: app.kubernetes.io/name: spread-same-topology-different-settings spec: containers: - name: busybox image: busybox topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: spread-same-topology-different-settings --- apiVersion: apps/v1 kind: Deployment metadata: name: spread-different-topology namespace: rossum labels: app.kubernetes.io/name: spread-different-topology spec: selector: matchLabels: app.kubernetes.io/name: spread-different-topology template: metadata: labels: app.kubernetes.io/name: spread-different-topology spec: containers: - name: busybox image: busybox topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: spread-different-topology --- apiVersion: apps/v1 kind: Deployment metadata: name: spread-multi-topologies namespace: rossum labels: app.kubernetes.io/name: spread-multi-topologies spec: selector: matchLabels: app.kubernetes.io/name: spread-multi-topologies template: metadata: labels: app.kubernetes.io/name: spread-multi-topologies spec: containers: - name: busybox image: busybox topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: spread-multi-topologies - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: spread-multi-topologies --- apiVersion: apps/v1 kind: Deployment metadata: name: test-wrong-label namespace: rossum labels: name: test-wrong-label spec: selector: matchLabels: name: test-wrong-label template: metadata: labels: name: test-wrong-label spec: containers: - name: busybox image: busybox ---