Skip to main content

Quick Start

Deploy an Aerospike CE cluster on Kubernetes in minutes.

Prerequisites

  • Kubernetes cluster v1.26+ (or Kind for local development)
  • kubectl configured to access the cluster
  • Helm v3.x
brew install kind kubectl helm

Step 1: Create a Kind Cluster

Skip this step if you already have a Kubernetes cluster.

kind create cluster --name aerospike

Step 2: Install cert-manager (Optional)

Skip this step if you plan to use the bundled cert-manager option in Step 3.

helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--set crds.enabled=true

Verify cert-manager is running:

kubectl -n cert-manager wait --for=condition=Available deployment/cert-manager --timeout=60s

Step 3: Install the Operator

# With bundled cert-manager (recommended if you skipped Step 2)
helm install aerospike-ce-kubernetes-operator oci://ghcr.io/kimsoungryoul/charts/aerospike-ce-kubernetes-operator \
-n aerospike-operator --create-namespace \
--set certManagerSubchart.enabled=true

Verify the operator is running:

kubectl -n aerospike-operator get pods

Step 4: Deploy an Aerospike Cluster

kubectl create namespace aerospike

Apply a minimal single-node in-memory cluster:

kubectl apply -f config/samples/acko_v1alpha1_aerospikecluster.yaml

Step 5: Verify

# Check cluster status (Phase should be "Completed")
kubectl -n aerospike get asc

# Check pods
kubectl -n aerospike get pods

Expected output:

NAME                 RACKSIZE   HEALTH   PHASE       AGE
aerospike-ce-basic 1 1/1 Completed 60s

Step 6: Connect to Aerospike

Launch an aerospike-tools pod to interact with the cluster:

kubectl -n aerospike run aql-client --rm -it --restart=Never \
--image=aerospike/aerospike-tools:latest \
-- aql -h aerospike-ce-basic -p 3000
aql> SHOW NAMESPACES
+--------+
| ns |
+--------+
| "test" |
+--------+

aql> INSERT INTO test.users (PK, name, age, email) VALUES ("user1", "Alice", 30, "alice@example.com")
OK, 1 record affected.

aql> SELECT * FROM test.users
+---------+-----+---------------------+
| name | age | email |
+---------+-----+---------------------+
| "Alice" | 30 | "alice@example.com" |
+---------+-----+---------------------+

Deploy with Cluster Manager UI (Optional)

Add --set ui.enabled=true to the Helm install command to deploy the web-based management UI alongside the operator:

helm install aerospike-ce-kubernetes-operator oci://ghcr.io/kimsoungryoul/charts/aerospike-ce-kubernetes-operator \
-n aerospike-operator --create-namespace \
--set certManagerSubchart.enabled=true \
--set ui.enabled=true

Access the UI via port-forward:

kubectl -n aerospike-operator port-forward svc/aerospike-ce-kubernetes-operator-ui 3000:3000
# Open http://localhost:3000

The UI provides a visual wizard for creating and managing Aerospike clusters, record browsing, AQL terminal, and more. See the Cluster Manager UI guide for details.

Next Steps