콘텐츠

Spark Connect on Kubernetes #2: Operator로 만드는 Control Plane

역량 개발 · 토스 테크 · 2026.10.14

토스증권 Data Infra팀에서 Spark Connect 서버를 효율적으로 관리하기 위해 구축한 Control Plane에 대한 기술 사례입니다. 개별 서버의 실행과 복구는 Apache Spark Operator가 담당하고, 여러 서버를 하나의 서비스(Tenant)로 묶어 관리하는 Spark Tenant Operator를 직접 개발하여 운영하고 있습니다. 주요 내용으로는 Blue-Green 방식을 활용해 기존 세션의 중단 없이 서버 설정을 업데이트하는 방법, Kubernetes 환경에서 Driver와 Executor 간의 연결 문제를 해결하기 위한 설정(`spark.kubernetes.executor.useDriverPodIP=true`), 그리고 glibc의 arena 설정을 조절하여 Driver의 메모리 누수(OOMKilled) 문제를 해결한 사례를 다루고 있습니다. 또한, 서버의 가용성과 진행 상태(Degraded, Restarting 등)를 세분화하여 관리하는 방법과 Apache Spark Operator를 선택한 이유에 대해서도 상세히 설명하고 있습니다. 데이터 인프라 운영 중 마주할 수 있는 실질적인 기술적 도전과 그 해결 과정을 깊이 있게 다루고 있어 관련 분야 종사자들에게 유용한 정보를 제공합니다.