콘텐츠로 이동

설치와 재설치

전 과정은 스크립트로 재현된다. 분기 1회 깨끗한 노드에서 리허설한다.

사전

  • Ubuntu 24.04 (운영) 또는 22.04/20.04, NVIDIA 드라이버 580 계열 (20.04 호스트는 550, CUDA 12.4 이미지)
  • 노드 설정 파일 infra/k3s/nodes/<hostname>.env (예시 node-a.example.env, node-b.example.env, 실제 dongbeen.env)
  • scripts/render-env.pyinfra/versions.env 생성

노드

sudo bash infra/k3s/install.sh            # preflight docker toolkit k3s helm gpu verify
  • GPU_MODE=gpu-operator(24.04) 또는 device-plugin(20.04). GPU_VISIBLE_DEVICES 로 노출 GPU 제한.
  • cgroup v1 호스트는 nodes/<host>.kubelet.conffailCgroupV1: false.
  • verifynvidia.com/gpu allocatable 과 GPU 파드 실행을 확인한다.

플랫폼 서비스

bash infra/k3s/install-charts.sh          # namespaces secrets postgresql seaweedfs mlflow argo pushgateway monitoring dcgm verify
bash infra/k3s/install-argo-templates.sh  # ClusterWorkflowTemplate, RBAC, PriorityClass, git-creds
bash infra/k3s/install-alerts.sh          # 알림 규칙, 라우팅, 대시보드

자격증명은 infra/k3s/secrets/<host>.env (없으면 생성, git 제외), git-token, github-oauth.env, slack.env.

공개 계층

ACME_EMAIL=<email> bash infra/k3s/install-ingress.sh   # certmanager oauth2proxy ingress apps

사전: DNS, 호스트 80/443 비어 있음(K3S_DISABLE="" 로 traefik+servicelb), github-oauth.env.

콘솔 이미지

images/build.sh rlflow && images/build.sh import lab/rlflow-api:<sha> && images/build.sh import lab/rlflow-web:<sha>
RLFLOW_API_IMAGE=docker.io/lab/rlflow-api:<sha> RLFLOW_WEB_IMAGE=docker.io/lab/rlflow-web:<sha> bash infra/k3s/install-charts.sh rlflow

프로젝트 네임스페이스

콘솔이 프로젝트 생성 시 자동으로 만든다. 수동: bash infra/k3s/provision-project.sh <slug> [gpu_quota].

되돌리기

sudo k3s-uninstall.sh (클러스터·데이터 전부), apt remove docker-ce nvidia-container-toolkit, ufw 규칙 삭제, /mnt/sda1/rlflow 삭제.