Introduction

Introduction to running Neo4j on a Kubernetes cluster using Neo4j Helm Charts.

Neo4j supports both a standalone and a cluster deployment of Neo4j on Kubernetes using Neo4j Helm Charts.

Helm (https://helm.sh/) is a “package manager for Kubernetes”. It usually runs on a machine outside of Kubernetes and creates resources in Kubernetes by calling the Kubernetes API. Helm installs and manages applications on Kubernetes using Helm Charts, which are distributed via Helm Chart Repositories.

1. The Neo4j Helm Chart repository

The Neo4j Helm Chart repository contains helm charts for Neo4j standalone server (neo4j/neo4j-standalone), for both core (neo4j/neo4j-core) and read replica (neo4j/neo4j-read-replica) components of cluster installations, and support charts to simplify configuration and operations. For more details on how to configure the Neo4j Helm Chart repository, see Configure the Neo4j Helm Chart repository. The source code of Neo4j Helm charts is licensed under Apache License 2.0.

2. Using the Neo4j Helm Chart repository

When using the Neo4j Helm Charts, the user is responsible for defining values.yaml files. The YAML files specify what the users want to achieve with the Helm Charts and the Neo4j configuration. There is no neo4j.conf file in this setup.

The users then run helm install selecting the chart to install and passing in the values.yaml file to customize the behavior. The Helm Charts create Kubernetes entities, which in some cases also spawn outside the resources in the cloud environment where they are run (e.g., cloud load balancers).

For more information about the Helm Charts and the Kubernetes and Cloud resources they instantiate when installed, see Neo4j Helm Charts for standalone server deployment and Neo4j Helm Charts for cluster deployments.