본문으로 건너뛰기

빠른 시작

로컬 Kind 클러스터에 Aerospike CE 클러스터와 클러스터 매니저 UI를 배포합니다.

사전 준비

  • Kind — 로컬 Kubernetes 클러스터
  • kubectl — Kubernetes CLI
  • Helm v3.x — 패키지 매니저
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: Kind 클러스터 생성

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: 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: 오퍼레이터 설치

helm install aerospike-ce-kubernetes-operator \
oci://ghcr.io/aerospike-ce-ecosystem/charts/aerospike-ce-kubernetes-operator \
-n aerospike-operator --create-namespace \
--wait

모든 파드가 실행 중인지 확인:

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: Aerospike 클러스터 배포

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

클러스터가 준비될 때까지 대기:

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: 클러스터 매니저 UI 접속

kubectl -n aerospike-operator port-forward svc/aerospike-ce-kubernetes-operator-ui 3000:3000

브라우저에서 http://localhost:3000을 엽니다. UI에서 클러스터 관리, 레코드 탐색, AQL 쿼리 실행 등을 할 수 있습니다.

이 터미널은 열어두세요 — port-forward는 포그라운드에서 실행됩니다. 다음 단계를 위해 새 터미널을 여세요.

Step 6: 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

정리

kind delete cluster --name aerospike

다음 단계