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
- macOS
- Linux
brew install kind kubectl helm
# 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
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:
- Sample File
- Inline YAML
kubectl apply -f config/samples/acko_v1alpha1_aerospikecluster.yaml
kubectl apply -f - <<'EOF'
apiVersion: acko.io/v1alpha1
kind: AerospikeCluster
metadata:
name: aerospike-ce-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
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:
- aql (Interactive)
- asinfo (Health Check)
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" |
+---------+-----+---------------------+
kubectl -n aerospike run asinfo-client --rm -it --restart=Never \
--image=aerospike/aerospike-tools:latest \
-- asinfo -h aerospike-ce-basic -p 3000 -v status
ok
# Namespace statistics
kubectl -n aerospike run asinfo-client --rm -it --restart=Never \
--image=aerospike/aerospike-tools:latest \
-- asinfo -h aerospike-ce-basic -p 3000 -v "namespace/test"
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
- Installation Guide — detailed installation options (Helm, Kustomize)
- Create Cluster — sample configurations and CRD field reference
- Manage Cluster — scaling, rolling updates, monitoring
- Cluster Manager UI — web-based GUI for browsing records, managing clusters, and executing AQL
- API Reference — full CRD type documentation