Prerequisites (Neptune 2.5)#
Self-hosted Neptune runs on a Kubernetes cluster.
This page lists the requirements and storage considerations for installing Neptune. Here's a summary:
- Kubernetes
1.19+
. - Helm
3.6.2+
. - Internet access. This is only required for the installation itself, to fetch the installation artifacts.1
- PV provisioner support in the underlying infrastructure.
- (optional) S3 compatible service or Azure Blob Storage.
Note: Neptune depends on Elasticsearch. If you're using AWS OpenSearch, contact us.
I'm interested in a trial/simplified installation
In the simplified (default) installation procedure, we guide you through setting up a simple K3s cluster and deploying Neptune there with default Helm chart settings.
This way, you can get a minimal installation that works well for lightweight setups or testing.
Before you start#
Obtain the following from Neptune support:
-
Your Docker Registry Credentials (DRC), to access and download the Neptune installation artifacts.
Before deployment, add the DRC to the
dockerRegistryCredentials
parameter in the Helm Chart values file: -
Your Neptune license, to access the self-hosted instance once installation is complete.
Deployment host requirements#
You need the following on the machine or VM the performs the deployment:
- Access to the Kubernetes cluster where Neptune will be installed.
- The
kubectl
andhelm
command-line tools.
Neptune's system requirements#
The following are requirements of Neptune itself.
Platform requirements#
Note
The below are minimum requirements. The overall hardware requirements may grow depending on usage (what kind of metadata is logged).
Required version | Processing | Memory | VM disk size for OS and files | |
---|---|---|---|---|
Kubernetes | 1.19+ |
4 vCPUs | 16 GB RAM | 100 GB |
Neptune's dependencies#
All of the listed dependencies are delivered as part of the installation process.
Requirements | Recommended storage | |
---|---|---|
MySQL | version 5.7.14+ or 8.0.13+ |
100 GB |
Elasticsearch2 | version 7.17 or 8.x |
100 GB |
Kafka | version 2.8 |
10 GB |
Neptune object storage3 | S3-compatible, POSIX-compliant, or Azure Blob Storage | 100 GB Note: The storage needs depend heavily on how much data users actually upload. |
You can use the services delivered with Neptune, although in some cases, it makes sense to use your own. In cloud deployments, for example, you can (and usually should) use a managed database.
Neptune object storage#
If you go with the services delivered with Neptune, you need to provide persistent storage for them to store users' data.
Neptune supports three types of storage:
-
PersistentVolumeClaim (default)
If no other storage configuration is provided, Neptune instructs Kubernetes to provision a PVC using the defaults. In this case, the Kubernetes cluster where Neptune is deployed needs to be able to provision storage. Managed Kubernetes services (such as Amazon EKS, Google GKE, and Azure AKS) usually have this capability out of the box.
-
S3 compatible service, such as AWS S3, or Google Cloud Storage (GCS) via Interoperability API and MinIO
- Azure Blob Storage
Only one type can be used at a time.
How much storage space is required?
If the metadata that is logged is simple and doesn't include many files, even 10 GB is plenty.
However, if the uploaded data possibly includes many large files, you should reserve as much as 1 TB of storage space.
-
It's possible to use your own Container Registry. If you need to perform the deployment without internet access, contact us. ↩
-
If you're using AWS OpenSearch, contact us. ↩
-
Refers to data stored in Neptune Run and Model objects, not cloud object storage. To learn more about data storage, see Privacy and security info. ↩