You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.5 KiB
3.5 KiB
flink-cdc-session 버전 갱신 가이드
1. git 작업 환경 구성
- DIP 카탈로그 git 다운로드
$ git clone https://github.com/paasup/dip-catalog.git
- 작업 브랜치로 체크아웃
$ git checkout -b update-flink-cdc-session/0.1.0
2. helm 차트 개발 및 업데이트
- 현재 flink-cdc-session 차트는 직접 작성하여 업데이트 중입니다.
- 기존 오픈소스 차트를 기반으로 하지 않고, 프로젝트 요구사항에 맞게 커스텀 개발하고 있습니다.
2.1 차트 구조
flink-cdc-session/0.1.0/
├── Chart.yaml # 차트 메타데이터
├── values.yaml # 기본 설정값
├── custom-values.yaml # 커스텀 설정값
├── BUILD-README.md # 빌드 가이드 (본 파일)
├── CUSTOM-README.md # 배포 가이드
├── README.md # 차트 상세 문서
└── templates/
├── _helpers.tpl # 헬퍼 템플릿
├── configmap.yaml # flink-cdc.yaml + pipeline.yaml
├── flinkdeployment.yaml # Flink Session Cluster
├── ingress.yaml # Flink Web UI Ingress
├── job.yaml # CDC 파이프라인 제출 Job (조건부)
└── secrets.yaml # truststore / gcs-key Secret (조건부)
2.2 주요 기능
- PostgreSQL → Apache Iceberg CDC 파이프라인 (Flink Session Mode)
- Flink CDC 3.5.0 기반
- S3/MinIO 및 GCS 체크포인트 저장소 지원
- 사설 CA 인증서(JKS truststore) 지원
- Iceberg REST 카탈로그(Lakekeeper) + OAuth2 연동
- Ingress 지원 (Flink Web UI)
3. 이미지 정보
- 기본 이미지:
paasup/flink-cdc-pipeline:3.5.0-flink1.20-r1 - Flink CDC 3.5.0 + Flink 1.20 기반 커스텀 이미지
- PostgreSQL CDC 커넥터 및 Iceberg 싱크 포함
4. git push 및 tag 추가
- 갱신작업 진행후 commit
$ git add .
$ git commit -m "update flink-cdc-session/0.1.0"
- main 브랜치에 체크아웃 후 merge
$ git checkout main
$ git merge update-flink-cdc-session/0.1.0
- git에 push 후 작업 브랜치 삭제
$ git push -u origin main
$ git branch -d update-flink-cdc-session/0.1.0
- git tag 추가 후 push
$ git tag flink-cdc-session/0.1.0
$ git push origin flink-cdc-session/0.1.0
5. 차트 버전 정보
- flink-cdc-session/0.1.0
- Apache Flink CDC 3.5.0 + Flink 1.20 기반
- PostgreSQL WAL → Apache Iceberg REST 카탈로그 CDC 파이프라인
- S3/MinIO 및 GCS 체크포인트 저장소 지원
- 사설 CA 인증서(JKS truststore) 지원
- Iceberg REST 카탈로그(Lakekeeper) + Keycloak OAuth2 연동
- 서비스 배포를 위하여 custom-values.yaml에 정의하였다.
- 차트의 빌드 방법과 배포 방법을 BUILD-README.md, CUSTOM-README.md 문서에 작성하였다.
6. 개발 참고사항
6.1 주요 의존성
- Flink Kubernetes Operator 설치 필요
- Kubernetes 1.25+ 권장
- Helm 3.x 필요
- PostgreSQL logical replication 활성화 필요 (
wal_level=logical)
6.2 보안 설정
- JKS 기반 truststore로 사설 CA 인증서 관리
- Kubernetes Secret을 통한 MinIO/GCS 자격증명 관리
- OAuth2 client_id:client_secret을 통한 Lakekeeper 인증