Repository for dip
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

flink-cdc-job 버전 갱신 가이드

1. git 작업 환경 구성

  • DIP 카탈로그 git 다운로드
$ git clone https://github.com/paasup/dip-catalog.git
  • 작업 브랜치로 체크아웃
$ git checkout -b update-flink-cdc-job/0.1.0

2. helm 차트 개발 및 업데이트

  • 현재 flink-cdc-job 차트는 직접 작성하여 업데이트 중입니다.
  • 기존 오픈소스 차트를 기반으로 하지 않고, 프로젝트 요구사항에 맞게 커스텀 개발하고 있습니다.

2.1 차트 구조

flink-cdc-job/0.1.0/
├── Chart.yaml                 # 차트 메타데이터
├── values.yaml                # 기본 설정값
├── custom-values.yaml         # 커스텀 설정값
├── BUILD-README.md            # 빌드 가이드 (본 파일)
├── CUSTOM-README.md           # 배포 가이드
├── README.md                  # 차트 상세 문서
└── templates/
    ├── _helpers.tpl           # 헬퍼 템플릿
    ├── configmap.yaml         # 이 Job 전용 pipeline.yaml
    └── job.yaml               # Kubernetes Job (파이프라인 제출)

2.2 주요 기능

  • 기존 Flink Session Cluster에 CDC 파이프라인 Job을 독립적으로 제출
  • flink-cdc-session chart와 분리되어 클러스터 재시작 없이 파이프라인 배포/재배포 가능
  • 여러 Release 이름으로 복수의 파이프라인 동시 운용
  • Release 이름 기반 Job/ConfigMap 네이밍으로 이름 충돌 방지

3. 이미지 정보

  • 기본 이미지: wbsong111/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-job/0.1.0"
  • main 브랜치에 체크아웃 후 merge
$ git checkout main
$ git merge update-flink-cdc-job/0.1.0
  • git에 push 후 작업 브랜치 삭제
$ git push -u origin main
$ git branch -d update-flink-cdc-job/0.1.0
  • git tag 추가 후 push
$ git tag flink-cdc-job/0.1.0
$ git push origin flink-cdc-job/0.1.0

5. 차트 버전 정보

  • flink-cdc-job/0.1.0
    • Apache Flink CDC 3.5.0 + Flink 1.20 기반
    • 이미 실행 중인 Flink Session Cluster에 CDC 파이프라인 Job을 제출
    • PostgreSQL → Apache Iceberg REST 카탈로그 CDC 파이프라인
    • 여러 파이프라인을 독립 Release로 동시 운용 가능
    • 서비스 배포를 위하여 custom-values.yaml에 정의하였다.
    • 차트의 빌드 방법과 배포 방법을 BUILD-README.md, CUSTOM-README.md 문서에 작성하였다.

6. 개발 참고사항

항목 flink-cdc-session flink-cdc-job
FlinkDeployment (Session Cluster)
파이프라인 ConfigMap (클러스터용) (Job 전용, 독립)
Job 제출 선택적 (job.enabled) 항상 배포
배포 주기 클러스터 변경 시 파이프라인 변경 시

6.2 주요 의존성

  • Flink Kubernetes Operator 설치 필요
  • flink-cdc-session chart로 Session Cluster가 실행 중이어야 함
  • Kubernetes 1.25+ 권장
  • Helm 3.x 필요

참고) 관련 문서