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
17 changes: 16 additions & 1 deletion pages/clustering/high-availability/setup-ha-cluster-k8s.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ Memgraph HA uses **client-side routing**, so DNS resolution happens internal Clu
one more type of network which will be used for clients accessing instances
from outside the cluster. Our HA supports out of the box following K8s resources used to setup external access:

- **IngressNginx** - one LoadBalancer for all instances.
- **IngressNginx** - one LoadBalancer for all instances. TCP port bases are configured under `externalAccessConfig.ingress`.
- **NodePort** - exposes ports on each node (requires public node IPs).
- **LoadBalancer** - one LoadBalancer per instance (highest cost).
- **CommonLoadBalancer (coordinators only)** - single LB for all coordinators.
Expand Down Expand Up @@ -802,6 +802,19 @@ helm install mem-ha-test ./charts/memgraph-high-availability --set \
When using these settings, the chart will automatically install and configure
**IngressNginx**, including all required TCP routing setup for Memgraph.

Each instance is exposed on a distinct Bolt port. Data instance ports are
assigned as `dataPortBase + array index` (default: 9000, 9001, ...) and
coordinator ports as `coordinatorPortBase + coordinator id` (default: 9011,
9012, 9013). These base ports are configured independently from the Gateway API
under `externalAccessConfig.ingress`:

```yaml
externalAccessConfig:
ingress:
dataPortBase: 9000
coordinatorPortBase: 9010
```


## Probes

Expand Down Expand Up @@ -1321,6 +1334,8 @@ and their default values.
| `externalAccessConfig.coordinator.annotations` | Annotations for external services attached to coordinators. | `{}` |
| `externalAccessConfig.dataInstance.serviceType` | IngressNginx, NodePort or LoadBalancer. By default, no external service will be created. | `""` |
| `externalAccessConfig.dataInstance.annotations` | Annotations for external services attached to data instances. | `{}` |
| `externalAccessConfig.ingress.dataPortBase` | Base port for data instance IngressNginx TCP ports (`dataPortBase + index`). | `9000` |
| `externalAccessConfig.ingress.coordinatorPortBase` | Base port for coordinator IngressNginx TCP ports (`coordinatorPortBase + id`). | `9010` |
| `externalAccessConfig.gateway.enabled` | Enable Gateway API external access. | `false` |
| `externalAccessConfig.gateway.gatewayClassName` | Name of a pre-existing GatewayClass. Required when creating a new Gateway. | `""` |
| `externalAccessConfig.gateway.existingGatewayName` | Name of an existing Gateway to attach routes to. Skips Gateway creation. | `""` |
Expand Down