NixOS 기반 베어메탈 Kubernetes 클러스터에서 Nvidia GPU 사용하기: 토끼굴 모험

2025-03-02

작성자는 머신러닝 프레임워크 MAZE의 확장을 위해 세 대의 미니 PC와 한 대의 퇴역 워크스테이션으로 구성된 Kubernetes 클러스터에서 Nvidia GPU 지원을 활성화하려고 시도했습니다. 예상보다 훨씬 어려운 작업이었으며, Nvidia 디바이스 플러그인 구성, NixOS 환경의 복잡성, PKI 인증서 배포 등의 문제에 직면했습니다. 결국 성공하여 NixOS, Ansible, Sops를 사용한 Kubernetes 클러스터 배포 경험과 CRI, CDI, nvidia-container-toolkit 등 기술에 대한 심층적인 이해를 공유합니다. 또한 오픈소스 프로젝트의 패치 적용 및 빌드를 간소화하는 nix-playground라는 도구를 개발하고 디버깅에 Grok 3을 활용했습니다. 이 과정에서 PyCharm과 WSL NixOS의 호환성 문제 및 Kubernetes RuntimeClass 설정 등의 추가적인 문제에도 직면했습니다. 앨리스의 모험과 같은 이 여정은 작성자의 뛰어난 실행력과 문제 해결 능력을 보여줍니다.

개발