Add chart flink cdc session cluster chart
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
image:
|
||||
repository: paasup/flink-cdc-pipeline
|
||||
tag: 3.5.0-flink1.20-r1
|
||||
pullPolicy: Always
|
||||
|
||||
flinkVersion: v1_20
|
||||
serviceAccount: flink
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
host: "flink-cdc-session.example.org"
|
||||
className: ""
|
||||
annotations: {}
|
||||
|
||||
jobManager:
|
||||
replicas: 1
|
||||
memory: 1024m
|
||||
cpu: 0.5
|
||||
|
||||
taskManager:
|
||||
replicas: 3
|
||||
memory: 2048m
|
||||
cpu: 1
|
||||
taskSlots: 2
|
||||
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
# CheckpointStorage: 체크포인트/세이브포인트 저장 위치 + 자격증명 (WHERE)
|
||||
# storageType에 해당하는 하위 블록(gcs 또는 s3)만 설정
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
checkpointStorage:
|
||||
storageType: s3 # gcs | s3
|
||||
checkpointDir: s3://my-bucket/flink/checkpoints
|
||||
savepointDir: s3://my-bucket/flink/savepoints
|
||||
|
||||
# S3 (storageType: s3 일 때 설정)
|
||||
# endpoint 비어있음 → AWS S3 / MinIO 등: https://minio.example.org
|
||||
# accessKeyId/secretAccessKey 모두 비어있음 → IAM Role / IRSA 사용
|
||||
# existingSecret 지정 시 → 기존 Secret에서 자격증명 참조 (accessKeyId 값보다 우선)
|
||||
s3:
|
||||
endpoint: ""
|
||||
pathStyleAccess: "false"
|
||||
accessKeyId: ""
|
||||
secretAccessKey: ""
|
||||
existingSecret: ""
|
||||
accessKeyIdKey: access-key-id
|
||||
secretAccessKeyKey: secret-access-key
|
||||
# GCS (storageType: gcs 일 때 설정)
|
||||
gcs:
|
||||
credentialSecret: gcs-key
|
||||
credentialPath: /opt/flink/gcs-key/key.json
|
||||
create: false
|
||||
# create: true 시 필요: base64 인코딩된 key.json 파일 내용
|
||||
# base64json: ""
|
||||
|
||||
# 체크포인트 동작 설정 (HOW)
|
||||
checkpoint:
|
||||
interval: 60s
|
||||
mode: EXACTLY_ONCE
|
||||
|
||||
# Secret 관리
|
||||
# create: false → 기존 Secret 참조 (kubectl create secret으로 별도 생성 필요)
|
||||
# create: true → 차트가 Secret 리소스를 직접 생성 (base64 값 필수)
|
||||
truststore:
|
||||
# enabled: true → 외부 JKS를 사용. 싱크/소스 엔드포인트가 사설 CA 인증서를 사용할 때 필요.
|
||||
# enabled: false → 외부 JKS 미사용. 모든 엔드포인트가 공인 CA 인증서를 사용할 때 설정.
|
||||
# JVM 기본 cacerts로 TLS 검증을 수행하며, truststore Secret도 불필요.
|
||||
enabled: true
|
||||
secretName: flink-truststore
|
||||
password: changeit
|
||||
create: false
|
||||
# create: true 시 필요: base64 인코딩된 truststore.jks 파일 내용
|
||||
# base64jks: ""
|
||||
|
||||
# Flink CDC 글로벌 설정 (flink-cdc.yaml)
|
||||
flinkCdc:
|
||||
parallelism: 1
|
||||
schemaChangeBehavior: EVOLVE
|
||||
|
||||
# PostgreSQL 소스
|
||||
postgres:
|
||||
hostname: postgres-postgresql.flink-test.svc.cluster.local
|
||||
port: 5432
|
||||
username: flink_cdc
|
||||
password: password
|
||||
slotName: flink_cdc_slot
|
||||
decodingPlugin: pgoutput
|
||||
tables: testdb.public.orders,testdb.public.users
|
||||
|
||||
# 파이프라인 설정
|
||||
pipeline:
|
||||
name: pg-to-iceberg-test
|
||||
parallelism: 2
|
||||
checkpointInterval: 60s
|
||||
|
||||
# Iceberg REST 카탈로그 싱크
|
||||
sink:
|
||||
catalog:
|
||||
uri: https://lakekeeper.example.org/catalog
|
||||
warehouse: minio
|
||||
s3Endpoint: https://minio.example.org
|
||||
s3PathStyleAccess: "true"
|
||||
oauth2Uri: https://keycloak.example.org/realms/paasup/protocol/openid-connect/token
|
||||
credential: lakekeeper-admin:wMyE9WNn50DH8yycLXwLTmMmu66JU7GV
|
||||
scope: lakekeeper
|
||||
|
||||
# 소스→싱크 테이블 라우팅
|
||||
# source-table: PostgreSQL CDC emit 형식 (schema.table)
|
||||
# sink-table: Iceberg namespace.table 형식
|
||||
route:
|
||||
- sourceTable: public.orders
|
||||
sinkTable: testdb_public.orders
|
||||
- sourceTable: public.users
|
||||
sinkTable: testdb_public.users
|
||||
|
||||
# CDC 파이프라인 Job 제출
|
||||
# enabled: false → Session Cluster만 배포 (Job 생략)
|
||||
# enabled: true → Session Cluster + Job 함께 배포
|
||||
job:
|
||||
enabled: true
|
||||
name: submit-cdc
|
||||
restAddress: flink-cdc-session-rest
|
||||
restPort: 8081
|
||||
pipelineFile: ./conf/pipeline.yaml
|
||||
Reference in New Issue
Block a user