Quick Start
Deploy an Aerospike CE cluster with the Cluster Manager UI on a local Kind cluster.
Prerequisites
brew install kind kubectl helm
Linux
# kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Kind
go install sigs.k8s.io/kind@latest
Step 1: Create a Kind Cluster
kind create cluster --name aerospike
Creating cluster "aerospike" ...
✓ Ensuring node image (kindest/node:v1.32.0) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
Set kubectl context to "kind-aerospike"
Step 2: Install cert-manager
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 \
--wait
Step 3: Install the Operator
helm install aerospike-ce-kubernetes-operator \
oci://ghcr.io/aerospike-ce-ecosystem/charts/aerospike-ce-kubernetes-operator \
-n aerospike-operator --create-namespace \
--wait
Verify all pods are running:
kubectl -n aerospike-operator get pods
NAME READY STATUS AGE
aerospike-ce-kubernetes-operator-xxxxx-yyyyy 1/1 Running 60s
aerospike-ce-kubernetes-operator-ui-xxxxx-yyyyy 2/2 Running 60s
Step 4: Deploy an Aerospike Cluster
kubectl create namespace aerospike
kubectl apply -f - <<'EOF'
apiVersion: acko.io/v1alpha1
kind: AerospikeCluster
metadata:
name: aerospike-basic
namespace: aerospike
spec:
size: 1
image: aerospike:ce-8.1.1.1
aerospikeConfig:
namespaces:
- name: test
replication-factor: 1
storage-engine:
type: memory
data-size: 1073741824
EOF
Wait for the cluster to be ready:
kubectl -n aerospike wait --for=condition=Ready pod/aerospike-basic-0-0 --timeout=120s
kubectl -n aerospike get asc
NAME RACKSIZE HEALTH PHASE AGE AVAILABLE
aerospike-basic 1 1/1 Completed 60s True
Step 5: Access the Cluster Manager UI
kubectl -n aerospike-operator port-forward svc/aerospike-ce-kubernetes-operator-ui 3000:3000
Open http://localhost:3000 in your browser. The UI provides a visual dashboard for managing clusters, browsing records, and running AQL queries.
tip
Keep this terminal open — port-forward runs in the foreground. Open a new terminal for the next step.
Step 6: Connect with AQL
kubectl -n aerospike run aql-client --rm -it --restart=Never \
--image=aerospike/aerospike-tools:latest \
-- aql -h aerospike-basic -p 3000
aql> SHOW NAMESPACES
+--------+
| ns |
+--------+
| "test" |
+--------+
aql> INSERT INTO test.users (PK, name, age) VALUES ("user1", "Alice", 30)
OK, 1 record affected.
aql> SELECT * FROM test.users
+---------+-----+
| name | age |
+---------+-----+
| "Alice" | 30 |
+---------+-----+
aql> EXIT
Clean Up
kind delete cluster --name aerospike
Next Steps
- Installation Guide — production installation options, Helm values, GitOps setup
- Create Cluster — multi-node, persistent storage, rack-aware configurations
- Cluster Manager UI — full UI feature guide and Ingress configuration
- Manage Cluster — scaling, rolling updates, configuration changes
- API Reference — complete CRD specification