Flink를 실무에서 안정적으로 운영하려면 결국 Kubernetes 위에서 돌아가는 구조를 이해해야 한다.

Flink는 기본적으로 분산 스트림 처리 엔진이기 때문에, JobManager/TaskManager/Checkpoint Storage 등을 어떻게 배포·확장·복구하느냐가 운영 품질을 좌우한다.

아래는 Kubernetes 기반 Flink 운영에서 꼭 알고 있어야 하는 핵심 개념과 실전 운영 기준을 정리한 내용이다.


Flink Kubernetes 운영 전략 전체 개요

Flink Job은 크게 두 방식으로 Kubernetes에 배포된다.

  1. Flink Session Cluster
  2. Flink Application Cluster (요즘 실무 표준)

Session Cluster는 개발·테스트 환경,

Application Cluster는 운영 환경에서 가장 적합하다.


Kubernetes + Flink의 기본 아키텍처

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가지다.


JobManager 운영 포인트

단일 장애 지점을 막기 위한 고가용성(HA)

Kubernetes에서는 기본적으로 아래 방식으로 고가용성을 구현한다.