Add chart flink cdc job
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# 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
|
||||
```sh
|
||||
$ git add .
|
||||
$ git commit -m "update flink-cdc-job/0.1.0"
|
||||
```
|
||||
|
||||
- main 브랜치에 체크아웃 후 merge
|
||||
```sh
|
||||
$ git checkout main
|
||||
$ git merge update-flink-cdc-job/0.1.0
|
||||
```
|
||||
|
||||
- git에 push 후 작업 브랜치 삭제
|
||||
```sh
|
||||
$ git push -u origin main
|
||||
$ git branch -d update-flink-cdc-job/0.1.0
|
||||
```
|
||||
|
||||
- git tag 추가 후 push
|
||||
```sh
|
||||
$ 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. 개발 참고사항
|
||||
|
||||
### 6.1 flink-cdc-session과의 역할 분리
|
||||
|
||||
| 항목 | 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 필요
|
||||
|
||||
## 참고) 관련 문서
|
||||
- [Flink CDC 공식 문서](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.5/)
|
||||
- [Flink Kubernetes Operator 문서](https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main/)
|
||||
- [Apache Iceberg 문서](https://iceberg.apache.org/docs/latest/)
|
||||
Reference in New Issue
Block a user