Files
service-catalog/doc/chart-restructure-plan.md
T
2026-01-19 11:13:25 +09:00

4.4 KiB

차트 디렉토리 구조 변경 계획

개요

charts 디렉토리 구조를 charts/{app_name}에서 charts/{app_name}/{chart_version}으로 변경합니다. 각 Chart.yaml 파일의 버전 정보를 사용합니다. kustomize를 사용하는 kubeflow, model-registry는 app version을 사용합니다.

현재 구조 vs 새로운 구조 매핑

Chart.yaml 분석을 바탕으로 한 현재 구조에서 새로운 구조로의 매핑:

현재 경로 차트 버전 새로운 경로
charts/airflow/ 1.16.0 charts/airflow/1.16.0/
charts/argo-cd/ 7.7.0 charts/argo-cd/7.7.0/
charts/cert-manager/ v1.16.1 charts/cert-manager/v1.16.1/
charts/dnsup/ 1.0.1 charts/dnsup/1.0.1/
charts/flowise/ 6.0.0 charts/flowise/6.0.0/
charts/gitea/ 12.4.0 charts/gitea/12.4.0/
charts/harbor/ 1.16.2 charts/harbor/1.16.2/
charts/kafka/ 32.4.3 charts/kafka/32.4.3/
charts/kafka-cluster/ 1.0.0 charts/kafka-cluster/1.0.0/
charts/kafka-ui/ 1.5.1 charts/kafka-ui/1.5.1/
charts/keycloak/ 18.4.0 charts/keycloak/18.4.0/
charts/kong/ 2.46.0 charts/kong/2.46.0/
charts/kserve/ 0.1.0 charts/kserve/0.1.0/
charts/kubeflow/ 1.10.0 charts/kubeflow/1.10.0/
charts/kyverno/ 3.4.1 charts/kyverno/3.4.1/
charts/lakekeeper/ 0.8.1 charts/lakekeeper/0.8.1/
charts/langflow-ide/ 0.1.0 charts/langflow-ide/0.1.0/
charts/langfuse/ 1.0.0-rc.2 charts/langfuse/1.0.0-rc.2/
charts/litellm/ 0.4.4 charts/litellm/0.4.4/
charts/mlflow/ 2.1.0 charts/mlflow/2.1.0/
charts/model-registry/ 0.2.19 charts/model-registry/0.2.19/
charts/nemo/ 25.4.0 charts/nemo/25.4.0/
charts/nim/ 25.4.0 charts/nim/25.4.0/
charts/ollama/ 1.1.2 charts/ollama/1.1.2/
charts/open-webui/ 5.4.0 charts/open-webui/5.4.0/
charts/postgresql-ha/ 11.9.4 charts/postgresql-ha/11.9.4/
charts/qdrant/ 1.12.4 charts/qdrant/1.12.4/
charts/ragflow/ 0.1.0 charts/ragflow/0.1.0/
charts/rancher/ 2.10.1 charts/rancher/2.10.1/
charts/rancher-monitoring/ 104.1.2+up57.0.3 charts/rancher-monitoring/104.1.2+up57.0.3/
charts/rancher-monitoring-crd/ 104.1.2+up57.0.3 charts/rancher-monitoring-crd/104.1.2+up57.0.3/
charts/spark-operator/ 2.0.2 charts/spark-operator/2.0.2/
charts/starrocks/ 1.11.3 charts/starrocks/1.11.3/
charts/starrocks-operator/ 1.11.3 charts/starrocks-operator/1.11.3/
charts/strimzi-kafka-operator/ 0.47.0 charts/strimzi-kafka-operator/0.47.0/
charts/superset/ 0.13.5 charts/superset/0.13.5/
charts/unitycatalog/ 0.2.0 charts/unitycatalog/0.2.0/
charts/vllm/ 0.0.11 charts/vllm/0.0.11/

예외 사항

비표준 차트 구조(kustmize)

  • charts/kubeflow/ - Kustomize 기반 배포, app 버전 1.10.0 제공
  • charts/model-registry/ - Kustomize 기반 배포, app 버전 0.2.19 제공

구현 단계

  1. 백업 단계

    • 현재 charts 디렉토리 백업: cp -r charts charts_backup_$(date +%Y%m%d_%H%M%S)
  2. 디렉토리 구조 변경 단계

    • 각 차트 디렉토리에 대해 버전 하위 디렉토리 생성 후 내용 이동:
      # 임시 디렉토리에 내용 이동
      mkdir -p /tmp/chart_temp/{app_name}
      mv charts/{app_name}/* /tmp/chart_temp/{app_name}/
      
      # 버전 디렉토리 생성 후 내용 이동
      mkdir -p charts/{app_name}/{version}
      mv /tmp/chart_temp/{app_name}/* charts/{app_name}/{version}/
      
      # 임시 디렉토리 정리
      rm -rf /tmp/chart_temp/{app_name}
      

    또는 더 간단한 방법:

    # 버전 디렉토리 생성
    mkdir -p charts/{app_name}/{version}
    
    # 버전 디렉토리를 제외한 모든 파일/디렉토리 이동
    find charts/{app_name} -maxdepth 1 -not -name {version} -not -name {app_name} -exec mv {} charts/{app_name}/{version}/ \;
    
  3. 검증 단계

    • 모든 파일이 올바르게 이동되었는지 확인
    • 고아 파일이 남아있지 않은지 확인
    • Chart.yaml 파일이 올바른 위치에 있는지 확인
  4. 문서 업데이트 단계

    • 문서에서 이전 구조에 대한 참조 업데이트
    • 이전 경로를 참조하는 스크립트나 자동화 업데이트