Flink를 실무에서 안정적으로 운영하려면 결국 Kubernetes 위에서 돌아가는 구조를 이해해야 한다.
Flink는 기본적으로 분산 스트림 처리 엔진이기 때문에, JobManager/TaskManager/Checkpoint Storage 등을 어떻게 배포·확장·복구하느냐가 운영 품질을 좌우한다.
아래는 Kubernetes 기반 Flink 운영에서 꼭 알고 있어야 하는 핵심 개념과 실전 운영 기준을 정리한 내용이다.
Flink Job은 크게 두 방식으로 Kubernetes에 배포된다.
Session Cluster는 개발·테스트 환경,
Application Cluster는 운영 환경에서 가장 적합하다.
Kubernetes
├─ Deployment: Flink JobManager
├─ Deployment: Flink TaskManager
├─ Service: JobManager RPC / REST
├─ ConfigMap: flink-conf.yaml / log4j / libs
└─ Persistent Volume: Checkpoint/Savepoint Storage
핵심은 JobManager의 안정성, TaskManager의 수평 확장, Checkpoint 저장소의 내구성 3가지다.
Kubernetes에서는 기본적으로 아래 방식으로 고가용성을 구현한다.