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

Quick installation

Use this quick start procedure to deploy the WEKA Operator and provision a minimal WEKA cluster on Kubernetes in five steps.

Before you begin

  • Access the WEKA Operator page to obtain the target WEKA_OPERATOR_VERSION and WEKA_IMAGE_VERSION_TAG.

  • To obtain your QUAY_USERNAME, QUAY_PASSWORD, and target version tags, ensure you can access get.weka.io. See Obtain the installation packages.

  • Ensure helm, kubectl, and Docker are installed. Log in to quay.io before pulling the Helm chart.

  • Verify all nodes meet the hardware and software requirements described in Prepare Kubernetes environment.

Procedure

1. Install the WEKA Operator

Apply the Custom Resource Definitions (CRDs) so the Kubernetes API can recognize WEKA resources, then deploy the operator controller.

helm upgrade --install weka-operator \
  oci://quay.io/weka.io/helm/weka-operator \
  --namespace weka-operator-system \
  --create-namespace \
  --version v1.13.0 \
  --set csi.installationEnabled=true

2. Configure image pull secrets

Create the Kubernetes image pull secrets that allow the operator and WEKA resources to pull container images. In this example, create the secret in weka-operator-system and default.

Replace the credentials with your values, or copy the generated command from get.weka.io. If additional namespaces require WEKA resources, run the same command for each namespace with the relevant namespace value.

get.weka.io: WEKA Operator image pull secrets example

Quick installation uses https://drivers.weka.io by default. Configure local driver distribution for example, air-gapped environments or custom kernels. See Driver management with the WEKA Operator.

3. Sign drives

Identify and prepare the physical storage devices before provisioning the cluster. Apply a WekaPolicy to automate drive discovery and signing.

Create sign-drives.yaml:

Apply the manifest:

4. Deploy the WekaCluster

Provision the backend storage by applying the WekaCluster custom resource. This resource defines the compute and drive containers, networking, and the driver distribution endpoint.

Create weka-cluster.yaml:

Apply the manifest:

For WEKA 5.1.0 and later with drive sharing enabled, set containerCapacity. For earlier versions, set numDrives. Alternatively, set dynamicTemplate.clusterCapacity, such as "300TiB", to define the cluster's target usable capacity instead of per-container capacity.

5. Deploy the WekaClient

Deploy the WekaClient custom resource to manage the client processes that mount WEKA filesystems to application pods. Use the targetCluster field to reference the WekaCluster deployed in the previous step.

Create weka-client.yaml:

Apply the manifest:

What to do next

Verify deployment health: kubectl get wekaclusters and kubectl get wekaclients

Last updated