Skip to content

Commit

Permalink
Update readme and values.
Browse files Browse the repository at this point in the history
  • Loading branch information
antejavor committed May 16, 2024
1 parent dd5470e commit 8a5cc2a
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 7 deletions.
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Welcome to the Memgraph Helm Charts repository. This repository provides Helm ch
## Available charts
- [**Memgraph standalone**](#memgraph-standalone)
- [**Memgraph Lab**](#memgraph-lab)
- [**Memgraph high availability](#memgraph-high-availability)

## Prerequisites
Helm version 3 or above installed.
Expand Down Expand Up @@ -59,6 +60,25 @@ Refer to the [Data visualization in Memgraph Lab](https://memgraph.com/docs/data

To upgrade or uninstall a deployed Memgraph release, you can use the `helm upgrade` or `helm uninstall` commands, respectively. Refer to the [Helm documentation](https://helm.sh/docs/) for more details on these commands.


## Memgraph high availability
Deploys high available Memgraph cluster, that includes two data instances and three coordinators.

For detailed information and usage instructions, please refer to the [chart's individual README file](./charts/memgraph/README.md).

To install Memgraph standalone, run the following command:

```
helm install my-release memgraph/memgraph-high-availability --set memgraph.env.MEMGRAPH_ENTERPRISE_LICENSE=<your-license>,memgraph.env.MEMGRAPH_ORGANIZATION_NAME=<your-organization-name>
```
Replace `my-release` with a name of your choice for the release.


Once Memgraph cluster is up and running, you can access it using the provided services and endpoints. Refer to the [Memgraph documentation](https://memgraph.com/docs/memgraph/connect-to-memgraph) for details on how to connect to and interact with Memgraph.

To upgrade or uninstall a deployed Memgraph release, you can use the `helm upgrade` or `helm uninstall` commands, respectively. Refer to the [Helm documentation](https://helm.sh/docs/) for more details on these commands.


## Contributing
Contributions are welcome! If you have any improvements, bug fixes, or new charts to add, please follow the contribution guidelines outlined in the [`CONTRIBUTING.md`](https://github.com/memgraph/helm-charts/blob/main/CONTRIBUTING.md) file. If you have questions and are unsure of how to contribute, please join our Discord server to get in touch with us.

Expand Down
2 changes: 1 addition & 1 deletion charts/memgraph-high-availability/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: memgraph-high-availability
description: A Helm chart for Kubernetes with Memgraph High availabiliy capabilites

version: 0.1.0
appVersion: "2.16.0"
appVersion: "2.17.0"

type: application

Expand Down
72 changes: 72 additions & 0 deletions charts/memgraph-high-availability/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
## Memgraph high availability Kubernetes Helm Chart
A Helm Chart for deploying Memgraph in [high-availability setup](https://memgraph.com/docs/clustering/high-availability).

Memgraph HA cluster includes 3 coordinators, 2 data instances by default. The cluster setup is performed via the cluster-setup job. The HA cluster is still work in progress and started with "--experimental-enabled=high-availability".
The cluster is started in the configuration without the node selector, which means that in the current configuration, it is not highly available if the node fails.

## Installing the Memgraph Helm Chart
To install the Memgraph HA Helm Chart, follow the steps below:
```
helm install <release-name> memgraph/memgraph-high-availability --set memgraph.env.MEMGRAPH_ENTERPRISE_LICENSE=<your-license>,memgraph.env.MEMGRAPH_ORGANIZATION_NAME=<your-organization-name>
```
Replace `<release-name>` with a name of your choice for the release and set the enterprise license.

## Changing the default chart values
To change the default chart values, run the command with the specified set of flags:
```
helm install <resource-name> memgraph/memgraph-high-availability --set <flag1>=<value1>,<flag2>=<value2>,...
```
Or you can modify a `values.yaml` file and override the desired values:
```
helm install <resource-name> memgraph/memgraph-high-availability-f values.yaml
```


## Configuration Options

The following table lists the configurable parameters of the Memgraph chart and their default values.

| Parameter | Description | Default |
|---------------------------------------------|-----------------------------------------------------------------------------------------------------|-----------------------------------------|
| `memgraph.image.repository` | Memgraph Docker image repository | `memgraph/memgraph` |
| `memgraph.image.tag` | Specific tag for the Memgraph Docker image. Overrides the image tag whose default is chart version. | `2.17.0` |
| `memgraph.image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `memgraph.env.MEMGRAPH_ENTERPRISE_LICENSE` | Memgraph enterprise license | `<your-license>` |
| `memgraph.env.MEMGRAPH_ORGANIZATION_NAME` | Organization name | `<your-organization-name>` |
| `memgraph.probes.startup.failureThreshold` | Startup probe failure threshold | `30` |
| `memgraph.probes.startup.periodSeconds` | Startup probe period in seconds | `10` |
| `memgraph.probes.readiness.initialDelaySeconds` | Readiness probe initial delay in seconds | `5` |
| `memgraph.probes.readiness.periodSeconds` | Readiness probe period in seconds | `5` |
| `memgraph.probes.liveness.initialDelaySeconds` | Liveness probe initial delay in seconds | `30` |
| `memgraph.probes.liveness.periodSeconds` | Liveness probe period in seconds | `10` |
| `memgraph.data.volumeClaim.storagePVC` | Enable storage PVC | `true` |
| `memgraph.data.volumeClaim.storagePVCSize` | Size of the storage PVC | `1Gi` |
| `memgraph.data.volumeClaim.logPVC` | Enable log PVC | `false` |
| `memgraph.data.volumeClaim.logPVCSize` | Size of the log PVC | `256Mi` |
| `memgraph.coordinators.volumeClaim.storagePVC` | Enable storage PVC for coordinators | `true` |
| `memgraph.coordinators.volumeClaim.storagePVCSize` | Size of the storage PVC for coordinators | `1Gi` |
| `memgraph.coordinators.volumeClaim.logPVC` | Enable log PVC for coordinators | `false` |
| `memgraph.coordinators.volumeClaim.logPVCSize` | Size of the log PVC for coordinators | `256Mi` |
| `data` | Configuration for data instances | See `data` section |
| `coordinators` | Configuration for coordinator instances | See `coordinators` section |

For the `data` and `coordinators` sections, each item in the list has the following parameters:

| Parameter | Description | Default |
|---------------------------------------------|-----------------------------------------------------------------------------------------------------|-----------------------------------------|
| `id` | ID of the instance | `0` for data, `1` for coordinators |
| `boltPort` | Bolt port of the instance | `7687` |
| `managementPort` (data only) | Management port of the data instance | `10000` |
| `replicationPort` (data only) | Replication port of the data instance | `20000` |
| `coordinatorPort` (coordinators only) | Coordinator port of the coordinator instance | `12000` |
| `args` | List of arguments for the instance | See `args` section |

The `args` section contains a list of arguments for the instance. The default values are the same for all instances:

```markdown
- "--also-log-to-stderr"
- "--log-level=TRACE"
- "--replication-restore-state-on-startup=true"
```

For all available database settings, refer to the [Configuration settings reference guide](https://memgraph.com/docs/memgraph/reference-guide/configuration).
3 changes: 1 addition & 2 deletions charts/memgraph-high-availability/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
Thank you for installing the Memgraph High-availability cluster! 🎉

Memgraph HA cluster includes 3 coordinators, 2 data instances by default. The cluster setup is performed via the cluster-setup job. The HA cluster is still work in progress and started with "--experimental-enabled=high-availability".

Running Memgraph in High-availability configuration with one hybrid node which hosts both control-plane nodes and workers.
The cluster is started in the configuration without the node selector, which means that in the current configuration, it is not highly available if the node fails.

The cluster setup requires the proper enterprise license to work since HA is an enterprise feature.

Expand Down
8 changes: 4 additions & 4 deletions charts/memgraph-high-availability/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

memgraph:
image:
repository: memgraph
tag: 2.16.0_72_437f6f0b7
repository: memgraph/memgraph
tag: 2.17.0
pullPolicy: IfNotPresent
env:
MEMGRAPH_ENTERPRISE_LICENSE: "<your-license>"
Expand All @@ -23,15 +23,15 @@ memgraph:
data:
volumeClaim:
storagePVCClassName: ""
storagePVC: false
storagePVC: true
storagePVCSize: "1Gi"
logPVCClassName: ""
logPVC: false
logPVCSize: "256Mi"
coordinators:
volumeClaim:
storagePVCClassName: ""
storagePVC: false
storagePVC: true
storagePVCSize: "1Gi"
logPVCClassName: ""
logPVC: false
Expand Down

0 comments on commit 8a5cc2a

Please sign in to comment.