Default podAntiAffinity to set pods on different hosts
Idea from gitlab-org/charts/auto-deploy-app!63. Thanks to @rob_podchaser !
- [ ] @rob_podchaser started a [discussion](https://gitlab.com/gitlab-org/charts/auto-deploy-app/-/merge_requests/63#note_317539054): (+1 comment)
> @Negash - This should also support podAntiAffinity (important for High Availability scheduling).
>
> In fact a good 'convention over configuration' would be to enable podAntiAffinity by default so that replicas are not scheduled on the same node.
>
> eg. don't schedule pod 'web' on nodes already running 'web':
>
> ```
> metadata:
> name: web
> spec:
> selector:
> matchLabels:
> app: web
> replicas: 3
> template:
> metadata:
> labels:
> app: web
> spec:
> affinity:
> podAntiAffinity:
> requiredDuringSchedulingIgnoredDuringExecution:
> - labelSelector:
> matchExpressions:
> - key: app
> operator: In
> values:
> - web
> topologyKey: "kubernetes.io/hostname"
> ```
>
> from
>
> https://thenewstack.io/implement-node-and-pod-affinity-anti-affinity-in-kubernetes-a-practical-example/
issue