Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions pages/clustering/high-availability/setup-ha-cluster-k8s.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -540,6 +540,20 @@ A full AKS example is available in the [chart
repository]((https://github.com/memgraph/helm-charts/tree/main/charts/memgraph-high-availability/aks)).
</Callout>

All strategies above spread pods across a topology domain defined by
`affinity.topologyKey`. The default, `kubernetes.io/hostname`, treats every
node as its own domain. Set it to a different node label to spread pods across
a wider domain, for example across availability zones:

```yaml
affinity:
topologyKey: topology.kubernetes.io/zone
unique: true
```

The same topology key is applied to both coordinator and data pod rules, so the
label must be present on every node that should take part in scheduling.

### Sysctl options

Use the `sysctlInitContainer` to configure kernel parameters required for
Expand Down Expand Up @@ -1732,6 +1746,7 @@ and their default values.
| `ports.replicationPort` | Replication port used on data instances. | `20000` |
| `ports.coordinatorPort` | Coordinator port used on coordinators. | `12000` |
| `ports.metricsPort` | Metrics port for coordinators and data instances. Opened only if `prometheus.enabled` is set to `true`. | `9091` |
| `affinity.topologyKey` | Topology domain used by all pod affinity and anti-affinity rules (for example a node or an availability zone) | `kubernetes.io/hostname` |
| `affinity.unique` | Schedule pods on different nodes in the cluster | `false` |
| `affinity.parity` | Schedule pods on the same node with maximum one coordinator and one data node | `false` |
| `affinity.nodeSelection` | Schedule pods on nodes with specific labels | `false` |
Expand Down