Playball Logo

Command Palette

Search for a command to run...

목차 열기

K8s 클러스터 구성

역할: Namespace 단위 리소스 배치 · NodePool 매핑 · 클러스터 내부 구조

Playball EKS 클러스터는 목적별 Namespace 분리NodePool 전용 배치로 워크로드 간 영향을 격리합니다.

K8s 클러스터 구성

문서 이미지를 큰 화면으로 확인합니다.


Namespace 구성

Namespace주요 Pod · 역할배포 경로
istio-systemIngress Gateway, istiod, Rate Limit Service, EnvoyFilter 적용 지점303 helm (istio, istio-security)
monitoringPrometheus · Alertmanager · Grafana · Loki · Tempo · OTel Collector303 helm (monitoring)
securityKyverno · Policy Reporter · 런타임 감시303 helm (kyverno-policies, 런타임 감시 차트)
dataClickHouse · CloudBeaver · RedisInsight · Kafka-UI (Staging 관리 도구)303 helm (clickhouse, redisinsight, …)
aiAI Defense API · 202 authz-adapter (ext_authz 대상)303 helm + 201 AI repo
appsAuth-Guard · Queue · Seat · Order-Core · API-Gateway · Frontend303 helm (apps/java-service)
argocdArgoCD Server · Repo Server · Application Controller · Root App302 bootstrap으로 초기 설치
kube-systemCNI · CoreDNS · Karpenter · AWS Load Balancer Controllerbootstrap + k8s managed

NodePool 분리 (Karpenter)

NodePool용도정책
apps애플리케이션 서비스 워크로드Spot 다양화 (Staging) / On-Demand (Prod)
monitoringPrometheus·Loki·Tempo 등 관측성전용 NodePool — 부하가 다른 워크로드에 전이되지 않게 격리
loadtestk6 부하테스트 전용별도 NodePool + Rate Limit 예외 (부하테스트 격리 환경)

NodePool 분리 목적:

  • 관측성이 서비스 부하에 영향받지 않게
  • 부하테스트가 실제 서비스 리소스를 뺏지 않게
  • Spot 중단 영향을 워크로드 특성에 맞게 (monitoring은 On-Demand 선호)

네트워크 격리

  • CNI — L3/L4 라우팅, 네트워크 플로우 관측
  • NetworkPolicy default-deny — 모든 Namespace에 기본 차단, allow-policies.yaml로 필요한 통신만 허용
  • Istio mTLS STRICT — Namespace 내/외 모든 Pod 간 통신 자동 암호화

상세 정책은 보안 → 인프라 보안 참조.