설치와 재설치¶
전 과정은 스크립트로 재현된다. 분기 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.py로infra/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.conf로failCgroupV1: false. verify가nvidia.com/gpuallocatable 과 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 삭제.