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.
4.1 KiB
4.1 KiB
OpenMetadata Dependencies 배포
1. 배포 방법
1) 배포 시 주의 사항
- openmetadata-dependencies는 MySQL, OpenSearch, Airflow를 포함하는 의존성 차트이다.
openmetadata차트보다 먼저 배포되어야 한다.- Airflow DAG 저장 및 로그 볼륨에
ReadWriteMany를 지원하는 StorageClass가 필요하다. - MySQL initdbScripts에 정의된 패스워드는
openmetadata차트의 database 연결 설정과 일치해야 한다.
2) 배포 방법
git clone https://github.com/paasup/dip-catalog.git
cd manifests/helm/openmetadata-dependencies/1.12.1
helm upgrade openmetadata-dependencies ./ -f custom-values.yaml --install -n openmetadata --create-namespace
2. custom-values.yaml 설명
1) MySQL 설정
- OpenMetadata(
openmetadata_db)와 Airflow(airflow_db) 데이터베이스를 초기화 스크립트로 함께 생성한다.
| Name | 설명 | 기본값 |
|---|---|---|
mysql.primary.resources |
MySQL Pod의 자원 설정 | requests: 500m/512Mi, limits: 750m/768Mi |
mysql.primary.persistence.size |
MySQL 데이터 볼륨 크기 | 50Gi |
- DB 계정 패스워드 변경 시
initdbScripts수정mysql: initdbScripts: init_openmetadata_db_scripts.sql: | CREATE DATABASE openmetadata_db; CREATE USER 'openmetadata_user'@'%' IDENTIFIED BY 'openmetadata_password'; # 패스워드 변경 GRANT ALL PRIVILEGES ON openmetadata_db.* TO 'openmetadata_user'@'%' WITH GRANT OPTION; commit; init_airflow_db_scripts.sql: | CREATE DATABASE airflow_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'airflow_user'@'%' IDENTIFIED BY 'airflow_pass'; # 패스워드 변경 GRANT ALL PRIVILEGES ON airflow_db.* TO 'airflow_user'@'%' WITH GRANT OPTION; commit;
주의:
initdbScripts는 MySQL 최초 초기화 시에만 실행된다. 패스워드를 변경하려면 PVC를 삭제하고 재배포하거나 MySQL에 직접 접속하여 변경해야 한다.
- MySQL 리소스 Preset 참고
Preset requests cpu requests memory limits cpu limits memory small 500m 512Mi 750m 768Mi medium 500m 1024Mi 750m 1536Mi large 1.0 2048Mi 1.5 3072Mi
2) OpenSearch 설정
| Name | 설명 | 기본값 |
|---|---|---|
opensearch.opensearchJavaOpts |
OpenSearch JVM 힙 메모리 설정 | "-Xmx1g -Xms1g" |
opensearch.persistence.size |
OpenSearch 데이터 볼륨 크기 | 30Gi |
opensearch.resources |
OpenSearch Pod의 자원 설정 | requests: 100m/256M, limits: 2000m/2048M |
-
OpenSearch JVM 힙은
resources.limits.memory의 절반 이하로 설정을 권장한다.opensearch: opensearchJavaOpts: "-Xmx1g -Xms1g" resources: requests: cpu: "100m" memory: "256M" limits: cpu: "2000m" memory: "2048M"
3) Airflow 설정
- OpenMetadata 전용 Airflow ingestion 이미지(
docker.getcollate.io/openmetadata/ingestion)를 사용한다.
3.1) 리소스 설정
-
기본값은
{}(무제한)으로 설정되어 있으며, 운영 환경에서는 적절한 리소스 제한을 설정한다.airflow: workers: replicas: 2 resources: requests: cpu: "500m" memory: "1Gi" limits: cpu: "1000m" memory: "2Gi" scheduler: resources: {} webserver: resources: {} apiServer: resources: {} triggerer: resources: {}
3.2) 볼륨 설정
-
DAG 저장 공간과 로그 저장 공간에
ReadWriteManyStorageClass가 필요하다.airflow: dags: persistence: enabled: true storageClassName: "" # ReadWriteMany를 지원하는 StorageClass 이름으로 변경 accessMode: ReadWriteMany size: 1Gi logs: persistence: enabled: true storageClassName: "" # ReadWriteMany를 지원하는 StorageClass 이름으로 변경 size: 1Gi