Add documentation for topologySpreadConstraint.
This commit is contained in:
parent
a7cc221d63
commit
bb676f5949
19
docs/user.md
19
docs/user.md
|
|
@ -714,7 +714,7 @@ but Kubernetes will not spin up the pod if the requested HugePages cannot be all
|
||||||
For more information on HugePages in Kubernetes, see also
|
For more information on HugePages in Kubernetes, see also
|
||||||
[https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/](https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/)
|
[https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/](https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/)
|
||||||
|
|
||||||
## Use taints, tolerations and node affinity for dedicated PostgreSQL nodes
|
## Use taints, tolerations, node affinity and topology spread constraint for dedicated PostgreSQL nodes
|
||||||
|
|
||||||
To ensure Postgres pods are running on nodes without any other application pods,
|
To ensure Postgres pods are running on nodes without any other application pods,
|
||||||
you can use [taints and tolerations](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/)
|
you can use [taints and tolerations](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/)
|
||||||
|
|
@ -755,6 +755,23 @@ spec:
|
||||||
If you need to define a `nodeAffinity` for all your Postgres clusters use the
|
If you need to define a `nodeAffinity` for all your Postgres clusters use the
|
||||||
`node_readiness_label` [configuration](administrator.md#node-readiness-labels).
|
`node_readiness_label` [configuration](administrator.md#node-readiness-labels).
|
||||||
|
|
||||||
|
If you need PostgreSQL Pods to run on separate nodes, you can use the
|
||||||
|
[topologySpreadConstraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) to control how they are distributed across your cluster.
|
||||||
|
This ensures they are spread among failure domains such as
|
||||||
|
regions, zones, nodes, or other user-defined topology domains.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: "acid.zalan.do/v1"
|
||||||
|
kind: postgresql
|
||||||
|
metadata:
|
||||||
|
name: acid-minimal-cluster
|
||||||
|
spec:
|
||||||
|
topologySpreadConstraints:
|
||||||
|
- maxskew: 1
|
||||||
|
topologyKey: topology.kubernetes.io/zone
|
||||||
|
whenUnsatisfiable: DoNotSchedule
|
||||||
|
```
|
||||||
|
|
||||||
## In-place major version upgrade
|
## In-place major version upgrade
|
||||||
|
|
||||||
Starting with Spilo 13, operator supports in-place major version upgrade to a
|
Starting with Spilo 13, operator supports in-place major version upgrade to a
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue