For the complete documentation index, see llms.txt. This page is also available as Markdown.

Install the WEKA App Store

Set up the App Store on Kubernetes, configure access to NeuralMesh storage, and deploy AI applications through the browser.

Deploy the WEKA App Store on a Kubernetes cluster to install the WEKA Operator, the CSI storage driver, and the App Store GUI for browsing and deploying AI applications. This guide covers adding the Helm repository, installing the chart, and completing the setup wizard that connects the cluster to NeuralMesh storage.

Before you begin

Gather the following information and access before starting. The setup wizard prompts for most of these values, so having them ready avoids interruptions partway through.

  • A running Kubernetes cluster, version 1.24 or later, with kubectl configured on the workstation and cluster-admin access. Run kubectl cluster-info to confirm the connection.

  • Helm version 3.10 or later. Run helm version to check the installed version. Install Helm from the official Helm documentation if needed.

  • The NeuralMesh cluster endpoint addresses: the IP addresses (or hostnames) and port numbers of the NeuralMesh servers, for example 192.168.1.10:14000. Collect at least one endpoint, though three or more improve resilience. The default WEKA port is 14000.

  • The WEKA software version running on the cluster, for example 5.1.0.605. This value must match exactly. Find it by running weka version on a WEKA server, or in the WEKA management UI under Configuration > Cluster Settings > General Information.

  • A WEKA user account with the CSI role. This is a dedicated service account for the storage driver, not a personal WEKA admin account. Ask a WEKA administrator to create one if it does not exist.

  • A Quay.io login with access to WEKA container images. WEKA provides this at registration on get.weka.io. Contact WEKA Sales if access is missing.

  • Root or sudo access to every Kubernetes worker node, to apply a one-time kubelet configuration change.

  • Network connectivity from the Kubernetes worker nodes to the NeuralMesh cluster. Confirm the required ports are open between the Kubernetes nodes and the NeuralMesh servers. Refer to the WEKA documentation for the port list.

Upgrading an existing installation? Run helm repo update before any upgrade to retrieve the latest available chart version.

Step 1: Add the Helm repository

The WEKA App Store is distributed as a Helm chart hosted on GitHub Pages. Add the repository to the local Helm configuration once, before installing or upgrading the chart.

  1. Register the repository and refresh the chart index:

    helm repo add weka-app-store https://weka.github.io/appstore-helm
    helm repo update
  2. Confirm the repository is available:

    helm search repo weka-app-store

    The output lists weka-app-store/weka-app-store-operator-chart along with its current version.

Step 2: Install the Helm chart

Installing the chart deploys the WEKA App Store operator and its web-based GUI on the cluster, and registers the WekaAppStore custom resource type that the operator uses to track every deployment it manages.

  1. Create the namespace for the operator:

  2. Create a Quay robot secret for image pull secret:

  1. Install the chart, choosing an option based on how the GUI should be exposed.

    Option A: LoadBalancer (recommended for bare-metal clusters with MetalLB)

    Option B: NodePort (when a load balancer is not available)

    Option C: ClusterIP only (access by port-forward)

  2. Confirm the operator pod started:

    A pod with a name starting with weka-app-store shows Running status.

  3. Confirm the custom resource type registered:

    If both commands return results, the operator is ready.

Step 3: Access the App Store

With the operator running, open the App Store GUI to start the setup wizard.

For LoadBalancer or NodePort installations, find the assigned address:

For LoadBalancer, use the address under EXTERNAL-IP. For NodePort, use any worker node's IP address with the high port number shown under PORT(S).

For ClusterIP installations, open a temporary tunnel:

Then open http://localhost:8080 in a browser.

Until the setup wizard is completed, every page in the App Store redirects back to the wizard. Complete the wizard before deploying blueprints or accessing the main interface.

Step 4: Complete the setup wizard

The setup wizard runs once and configures the connection between the Kubernetes cluster and the NeuralMesh storage system, across six screens.

Node prerequisites

Before WEKA can run as a containerised storage client on the Kubernetes nodes, the kubelet, the Kubernetes agent that runs on every node, needs specific settings applied. This screen displays the configuration to apply on every worker node before continuing.

The wizard displays a ready-to-paste configuration snippet with the following settings.

Setting
Value
Purpose

CPU Manager Policy

static

Allows containers to request dedicated CPU cores instead of sharing them. WEKA's storage processes require exclusive access to specific cores for consistent performance.

Reserved CPUs

1000m plus CPUs 0 and 1

Reserves one CPU core and two dedicated system CPUs for Kubernetes system processes, so WEKA does not compete with the operating system for CPU time.

Reserved Memory

1 GiB

Reserves RAM for Kubernetes system processes, separate from the memory WEKA itself uses.

Hugepages

25,000 x 2 MB (50 GB per node)

Reserves large memory regions that bypass normal operating system memory management, letting WEKA move data at high speed with minimal CPU overhead. Confirm each node has at least 50 GB of free RAM above what other workloads need.

Apply the configuration and restart the kubelet on every worker node, then select the confirmation checkbox and select Next.

Quay credentials

WEKA's operator and client container images are stored in a private registry on Quay.io. This step creates a Kubernetes pull secret so the nodes can authenticate with Quay.io and download the images during installation.

Field
Requirement
Description

Quay Username

Required

The Quay.io account granted access to WEKA's private container images.

Quay Password

Required

The Quay.io password or robot token. A robot token is recommended for production environments: it can be rotated without affecting the main login, and it distinguishes a service credential from a personal one in audit logs.

Operator Version

Default: v1.13.0

The version of the WEKA Kubernetes operator to install. Leave the default if unsure. The version must exist on Quay.io, entered as v1.13.0 or 1.13.0.

Use the Quay.io credentials from the WEKA portal account at get.weka.io.

WEKA connection

This step tells the WEKA client, which runs as a DaemonSet on every node, how to find and connect to the NeuralMesh cluster.

Field
Requirement
Description

WEKA Endpoints

Required

A comma-separated list of host:port entries for the NeuralMesh cluster servers. At least one entry is required; three or more allow the client to stay connected if one server is temporarily unavailable. Example: 10.0.1.10:14000,10.0.1.11:14000,10.0.1.12:14000

WEKA Image Version

Required

The exact WEKA software version running on the cluster. The containerized client version must match the version on the NeuralMesh servers: even a minor version mismatch prevents the client from connecting. Example: 5.1.0.605

Endpoint Scheme

Default: http

The protocol used to reach the NeuralMesh cluster management API. Leave as http unless the NeuralMesh cluster has TLS enabled on its management API endpoint, in which case select https.

Find the endpoint addresses in the WEKA management UI under Configure > Cluster Servers, then select Backends from the server menu. The default port is 14000. Find the image version by running weka version on a WEKA server, or under Configuration > Cluster Settings > General Information in the management UI.

Networking

This step sets how the WEKA client transfers data between the Kubernetes nodes and the NeuralMesh cluster. The choice affects throughput and latency. Select Auto if unsure: the mode can be changed later.

Mode
Description

Auto (recommended)

WEKA automatically selects the best available networking mode for the environment. The safest choice when the available NICs or supported modes are unclear.

DPDK (high performance)

Uses kernel-bypass networking for the highest throughput and lowest latency. Requires DPDK-capable network cards, typically Mellanox/NVIDIA ConnectX series or Intel adapters. Selecting DPDK reveals a field for the NIC device names: enter the storage network interface names, comma-separated, for example ens3f0,ens3f1. Find NIC names by running ip link show on a worker node and identifying the interfaces connected to the storage network.

UDP (compatibility mode)

Uses standard UDP-based software networking. Lower throughput than DPDK, but compatible with any network card and environment. Use this when DPDK is unavailable or maximum throughput is not required.

WEKA credentials

These credentials let the WEKA CSI storage driver authenticate with the NeuralMesh cluster to create, delete, and manage storage volumes on behalf of Kubernetes workloads.

Field
Requirement
Description

WEKA Organization

Default: Root

The WEKA organization the CSI user account belongs to. Leave as Root if the cluster does not use multi-tenancy, otherwise enter the organization name where the CSI service account was created.

WEKA Username

Required

The username of the WEKA CSI service account. The account must already exist in WEKA with the CSI role assigned.

WEKA Password

Required

The password for the WEKA CSI service account.

Review and install

The final screen summarises every setting entered across the previous steps, with passwords masked. Review the endpoint addresses, version numbers, and networking mode, since these are the most common sources of installation errors.

Select Install to start a two-phase deployment with a live progress stream on the next screen.

Phase
Description

Phase 1: WEKA integration

Installs the WEKA Kubernetes operator, deploys the CSI storage driver, sets up image pull secrets, launches the WEKA client DaemonSet on every worker node, and creates the storage classes Kubernetes uses to provision NeuralMesh-backed volumes.

Phase 2: Cluster initialization

Deploys the monitoring stack (Prometheus and Grafana), the NVIDIA NIM Operator for AI workloads, and the Envoy Gateway networking layer that routes external traffic to the App Store and other deployed applications. Phase 2 starts automatically once Phase 1 completes.

Step 5: Monitor the installation

After selecting Install, the App Store shows a live progress screen with a row for every component being deployed. Each row updates in real time as the operator works through the installation sequence.

Most of the installation time is spent downloading container images to the nodes on the first install. On a standard internet connection, Phase 1 typically takes 10 to 20 minutes (up to 45 minutes on slow connections), and Phase 2 typically adds 5 to 10 minutes. Later installs on the same cluster complete faster, since most images are already cached on the nodes.

If a row shows a Failed status, check the operator log for the cause:

The log identifies which component failed and why. Common causes include incorrect endpoint addresses, version mismatches, image pull failures from incorrect Quay credentials, or network connectivity issues between the Kubernetes cluster and NeuralMesh.

Step 6: Verify the installation

Once both phases complete, the App Store redirects to the main interface. Run the following checks to confirm everything is healthy.

Check that all pods are running:

All pods show Running or Completed status. Check a pod's events with kubectl describe pod <name> -n <namespace> if any are stuck in Pending or CrashLoopBackOff.

Check that the storage classes were created:

Three WEKA storage classes are listed.

Storage class
Description

wekafs-dir-api

The default storage class. Volumes are created as directories within a NeuralMesh filesystem. Deleting a Kubernetes PVC also deletes the data.

wekafs-dir-api-retain

The same as above, with a Retain reclaim policy. Data in NeuralMesh persists after the Kubernetes PVC is deleted. Use this for data that should outlive the workload's lifecycle.

wekafs-fs-api

Filesystem-backed volumes. Each volume gets a dedicated NeuralMesh filesystem instead of a directory within a shared filesystem, suited to workloads with filesystem-level isolation requirements.

The Kubernetes cluster is now connected to NeuralMesh storage. Open the App Store interface to deploy blueprints, including the WEKA AI Data Platform.

Last updated