# ============================================ # MLOps Architecture - Infrastructure Config # 클러스터/컴포넌트 구성 정보 (시크릿 제외) # ============================================ cluster: name: gpulive api_server: https://114.110.128.68:6443 k8s_version: v1.34.3 masters: 3 workers: 14 # GPU 노드 포함 storage_classes: default: component-nas # NFS provisioner internal: internal-nas user: user-nas node_groups: nd: dv2-kr3-ins-nd-worker-01 # 인프라 컴포넌트용 prometheus: dv2-kr3-ins-nd-worker-02 # 모니터링용 # ── 스케줄링 정책 ────────────────────────────── scheduling: # 워크로드 제외 모든 컴포넌트는 nodeSelector 지정 infra_node_selector: nodegroup: nd # 기본값 monitoring_node_selector: nodegroup: prometheus # ── 컴포넌트 현황 ──────────────────────────── components: gitea: location: external # 다른 클러스터에 설치됨 url: https://gitea.inje-private.com version: 1.22.1 installed: true # 외부에서 운영 중 gitea_runner: location: this_cluster namespace: soo version: v0.3.0 # act_runner version image: gitea/act_runner:latest deploy_type: kubernetes # Deployment + DinD sidecar runner_name: mlops-runner node_selector: nodegroup: nd labels: - ubuntu-latest - ubuntu-22.04 - self-hosted installed: true argocd: namespace: argocd version: v2.12.3 ingress: argocd.gpulive.cloud installed: true harbor: url: harbor.inje-private.com project: mlops # harbor.inje-private.com/mlops/ installed: true location: external dvc: version: 3.66.1 remote_type: nas remote_name: nas nas_server: 192.168.0.43 nas_path: /GJ_SHARE_FS2/afed9d8d-f9c8-4053-aa89-23cdc70938e3 nas_mount: /ainas # 실제 마운트 포인트 dvc_storage: /ainas/dvc-storage installed: true # ── 네임스페이스 매핑 ──────────────────────── namespaces: infra: gitea # Gitea, Runner cd: argocd # ArgoCD workload: soo # ML 워크로드 배포 대상 monitoring: monitoring # Prometheus, Grafana # ── GitOps 구조 ────────────────────────────── gitops: # single: 앱 코드 + manifest 한 repo # split: 앱 repo / manifest repo 분리 repo_strategy: "" # TODO: 결정 후 채우기 app_repo: "" manifest_repo: ""