ACKO
ACKO 아키텍처. AerospikeCluster CRD → Reconciler → Aerospike Pod(Rack) + metrics exporter 관리 흐름.
ACKO 아키텍처. AerospikeCluster CRD → Reconciler → Aerospike Pod(Rack) + metrics exporter 관리 흐름.
Aerospike CE Kubernetes Operator (ACKO) 릴리스 변경 이력
ACKO에서 Kubernetes Operator 프레임워크로 Kubebuilder v4와 controller-runtime을 선택한 아키텍처 결정 기록.
ACKO에서 AerospikeClusterTemplate을 namespace-scoped에서 cluster-scoped로 변경한 아키텍처 결정 기록.
AerospikeCECluster CRD를 AerospikeCluster로 리네이밍한 아키텍처 결정 기록. 중복된 CE 접두사 제거로 API 표면 단순화.
Aerospike 클러스터 메시 합류 및 마이그레이션 완료를 보장하기 위해 커스텀 Pod Readiness Gate(acko.io/aerospike-ready)를 도입한 아키텍처 결정 기록.
무한 reconciliation 루프 방지를 위해 5분 context timeout, 지수 백오프, 10회 연속 실패 시 circuit breaker를 도입한 아키텍처 결정 기록.
ACKO에서 TCP probe 대신 asinfo 명령어 기반 liveness/readiness check를 도입하여 정확한 Aerospike 노드 상태를 감지하도록 한 아키텍처 결정 기록.
ACKO의 reconciliation circuit breaker 고정 임계값을 에러 유형별 차등 임계값으로 개선하는 제안에 대한 검토 결과. 운영 데이터 부재로 보류.
ACKO operator의 Pause/Resume 상태 전환 시 Status Condition 불일치 문제를 해결하기 위해 원자적 업데이트와 Resume condition 리셋을 도입하는 아키텍처 결정.
ACKO의 기존 ValidationError 타입을 활용하여 영구적 오류를 즉시 식별하고 Circuit Breaker를 즉시 활성화함으로써 불필요한 재시도를 방지하는 아키텍처 결정.
ACKO의 동적 설정 변경 시 부분 적용을 방지하기 위해 Two-Phase Commit 패턴과 ConfigDegraded 상태 전환을 도입하는 전략
ACKO의 Pod readiness 확인을 10초 간격 polling에서 Kubernetes Informer watch로 전환하고, status enrichment의 Aerospike 노드 정보 수집을 병렬화하여 reconciliation 성능을 개선하는 아키텍처 결정.
ACKO webhook에 replication-factor, 포트 충돌, batch size 검증을 추가하여 런타임 오류를 admission 단계에서 차단하는 아키텍처 결정
Kubernetes 외부 클라이언트가 ACKO로 배포된 Aerospike 클러스터에 접근할 수 있도록 per-pod LoadBalancer/NodePort 서비스, Seeds Finder LB, init container 기반 자동 LB IP 주입을 도입하는 아키텍처 결정.
ACKO의 E2E 테스트를 시나리오별 독립 테스트 스위트와 CI matrix 병렬 실행으로 확장하는 전략 결정.
ACKO의 CRD와 Operator를 독립된 Helm chart로 분리하고 GHCR OCI Registry를 통해 배포하는 버전 관리 체계에 대한 아키텍처 결정.
ACKO Helm chart를 multi-cluster 토폴로지(common + per-environment operator cluster)로 확장하고, FastAPI native JWT 검증 + Keycloak external IdP를 표준 인증 수단으로 채택하는 결정.
Helm 차트에서 UI를 단일 통합 이미지 대신 frontend/backend 별도 사이드카 컨테이너로 분리
Wizard UI를 9단계에서 5단계로 압축하고 Template 모드를 3단계로 간소화
AerospikeClusterTemplate이 다른 namespace에서 참조 가능하도록 확장
Template 모드에서 각 rack을 특정 Kubernetes 노드에 고정할 수 있는 기능 추가
Helm chart에 UI 관련 세부 설정 추가 (DB pool, timeout, logging, metrics)
누락된 UI Service 템플릿 추가 및 이미지 태그를 v0.3.6으로 고정
내부 API 정리, UTF-8 안전 truncation 추가, Aerospike 클라이언트 연결 통합, 미사용 코드 제거
truncateUTF8 함수가 suffix 포함 시 maxBytes를 초과하지 않도록 수정
Helm chart RBAC 권한 개선, deployment strategy/probes/metrics 경로 수정
E2E 테스트 안정성 개선 -- Podman 자동 감지, 멀티 노드 클러스터, 타임아웃 조정