K3s의 개요
K3s는 100 MB 미만의 바이너리 하나로 묶인 Kubernetes 배포판입니다. 업스트림 Kubernetes와의 적합성을 유지하면서 containerd, Flannel 네트워킹, CoreDNS, 인그레스용 Traefik, 서비스 로드 밸런서, local-path 스토리지, Helm 컨트롤러를 함께 제공하며, 각각 끄거나 다른 것으로 바꿀 수 있습니다. 단일 서버는 기본적으로 클러스터 상태를 SQLite에 저장하고, 서버 세 대 이상이면 내장 etcd 위에 고가용성 클러스터를 구성합니다. 외부 MySQL, MariaDB, Postgres도 쓸 수 있습니다.
Rancher Labs에서 시작해 2020년 6월 CNCF에 기증되었고, SUSE는 이를 CNCF Sandbox 프로젝트로 소개하며 스스로를 주요 기여자로 밝힙니다. 소프트웨어는 Apache 2.0이며 유료 에디션은 없습니다. SUSE는 Rancher Prime 구독으로 지원을 판매하며, 릴리스마다 최대 5년간 지원합니다.
GPU 작업의 경우 K3s는 시작할 때 NVIDIA container runtime을 감지해 containerd 설정에 추가하고, 이에 맞는 nvidia라는 이름의 RuntimeClass를 제공합니다. 버전 번호는 업스트림 Kubernetes를 따르며, v1.37.2+k3s1과 v1.36.6+k3s1이 2026년 11월 3일에 함께 나왔습니다.
K3s, 쓸 만한 가치가 있습니까?
플랫폼 팀 없이 머신 몇 대만 있을 때 추론과 에이전트 서비스를 Kubernetes 위에 올리는 방법으로 K3s는 합리적인 선택입니다. 표준을 준수하는 Kubernetes이므로 모델 서버용 Helm 차트, NVIDIA device plugin, 대부분의 오퍼레이터가 수정 없이 설치되며, 문서가 요구하는 사양은 워크로드를 제외하고 서버 노드 기준 2코어와 2 GB RAM, 에이전트 기준 512 MB뿐입니다. 저장소의 GitHub 스타는 약 34,400개이며, 프로젝트는 업스트림 이후 1주일 안에 패치 릴리스를, 30일 안에 새 마이너 버전을 내는 것을 목표로 합니다.
GPU 지원은 대부분 자동이지만 잘 알려진 함정이 하나 있습니다. 호스트에 NVIDIA container runtime 패키지를 설치하고 K3s를 재시작하면 K3s가 런타임을 containerd에 기록하고, 이후 파드는 nvidia.com/gpu를 요청하고 runtimeClassName: nvidia를 지정합니다. 그런데 NVIDIA device plugin은 nvidia가 기본 런타임이라고 가정하기 때문에, K3s의 긴 GitHub 토론에서 사용자들은 --default-runtime nvidia를 설정하거나 K3s의 config.toml.tmpl 템플릿을 고치기 전까지 플러그인이 크래시 루프에 빠졌다고 보고합니다. NVIDIA GPU Operator도 동작하지만, toolkit을 K3s 고유의 containerd 소켓과 설정 경로로 지정해야 합니다. K3s 문서는 이를 다루지 않으며 NVIDIA의 현재 설치 가이드에도 K3s는 없습니다.
단일 노드 기본 구성은 실제로 감수해야 할 절충입니다. 서버 한 대의 SQLite에는 장애 조치가 없습니다. 고가용성에는 내장 etcd 위에 서버 세 대 이상이 필요하고, 쿼럼 유지를 위해 홀수여야 합니다. 문서는 etcd의 쓰기가 SD 카드나 eMMC에는 너무 많다고 경고하므로 엣지 장비에는 SSD가 필요합니다. 단일 서버는 나중에 --cluster-init으로 재시작해 etcd로 전환할 수 있습니다. Flannel VXLAN 포트 8472는 방화벽 뒤에 두어야 하며, 문서에 따르면 이를 노출하면 클러스터 네트워크가 누구에게나 열립니다. GitHub에는 이 프로젝트의 보안 권고가 3건 있으며, 가장 최근 것은 2026년 6월에 공개된 etcd 스냅샷 복원 시의 중간 등급 경로 탐색 버그입니다.
모델 서버, 벡터 데이터베이스, 에이전트 API를 돌리는 GPU 호스트가 한 대라면 보통 Docker Compose로 충분합니다. devices 블록으로 서비스마다 GPU를 예약할 수 있고 패치해야 할 컨트롤 플레인도 남지 않습니다. K3s는 부하를 나눌 두 번째 GPU 호스트가 생기거나, 롤링 업데이트가 필요하거나, 수십 개의 엣지 거점을 Git으로 관리해야 할 때 값을 합니다. 바로 SUSE가 Rancher Prime을 파는 경우입니다. SUSE는 K3s 페이지에 이 지원의 가격을 공개하지 않습니다.
제 역할을 하는 곳
GPU 서버 세 대를 가진 2인 ML 팀
컨테이너를 손으로 배치하지 않고 모델 서버와 에이전트 API를 세 대에 나눠 배치
각 호스트에 curl 스크립트로 K3s를 설치하고 NVIDIA 런타임 패키지를 추가한 뒤, --default-runtime nvidia로 서버를 시작하고 Helm으로 device plugin과 모델 서버를 배포합니다. 스케줄러가 GPU가 빈 곳에 파드를 배치합니다. 소프트웨어 비용은 없고, 실제 비용은 kubectl을 익히고 릴리스마다 노드 세 대를 패치하는 일입니다.
매장 미니 PC에서 작은 비전 모델을 돌리는 40개 매장 소매 체인의 IT 책임자
모든 매장에서 같은 추론 컨테이너를 실행하고 한곳에서 일괄 업데이트
매장마다 SQLite 기반 단일 노드 K3s를 실행하며, K3s 자체에는 2코어와 2 GB가 필요합니다. Rancher Prime은 클러스터 전반의 GitOps 플릿 관리와 벤더 지원을 더하며 가격은 문의해야 합니다. 이를 쓰지 않으면 각 거점의 업그레이드와 모니터링은 팀이 직접 맡습니다.
GPU 한 장짜리 워크스테이션에서 에이전트 스택을 직접 호스팅하는 1인 개발자
Ollama, Qdrant, 에이전트 API를 Kubernetes 위에 올릴지 결정
Docker Compose는 devices 블록으로 서비스마다 GPU를 예약하고 컨트롤 플레인이 없습니다. K3s는 헬스 체크 기반 재시작과 롤링 업데이트를 더하지만, 그 대가로 자체 리소스와 새로운 도구 체계가 필요합니다. 머신 한 대라면 보통 Compose로 충분하고, 두 번째 GPU 호스트가 생길 때 K3s가 의미를 갖기 시작합니다.
도입 전 확인할 점
- 설정
- curl -sfL https://get.k3s.io | sh - 로 systemd 또는 openrc 서비스가 설치되고 kubeconfig가 /etc/rancher/k3s/k3s.yaml에 기록됩니다. 워커는 K3S_URL과 /var/lib/rancher/k3s/server/node-token의 토큰으로 합류합니다. x86_64, armhf, arm64, s390x용 바이너리가 있습니다.
- 연동
- 표준 Kubernetes 도구(kubectl, Helm, CSI 드라이버, cloud controller manager. in-tree 스토리지 드라이버와 클라우드 프로바이더는 제거됨). NVIDIA, crun, 여러 WebAssembly 런타임은 자동 감지됩니다. GPU Operator는 CONTAINERD_CONFIG와 CONTAINERD_SOCKET 을 K3s 경로로 설정해야 합니다.
- 데이터와 개인정보
- Apache 2.0이며 유료 에디션은 없습니다. 클러스터 상태는 SQLite, 내장 etcd 또는 직접 운영하는 외부 데이터베이스에 저장됩니다. 포트 8472(Flannel VXLAN)는 인터넷에 노출하지 마십시오. GitHub 보안 권고는 3건이며 가장 최근 것은 중간 등급(2026년 6월)입니다.
- 대규모 사용 시 비용
- 소프트웨어는 무료입니다. 문서 기준으로 2 vCPU와 4 GB 서버는 에이전트 350대까지, 4 vCPU와 8 GB는 900대까지 감당하며, 4 vCPU와 8 GB 서버 세 대면 약 1,200대에 이릅니다. 비용의 대부분은 GPU이며 Rancher Prime 지원은 가격 문의입니다.
- 제한
- 열린 이슈와 풀 리퀘스트 78건. rootless 모드는 실험적이며 단일 노드 전용입니다. 고가용성에는 홀수 대의 서버가 필요합니다. GPU Operator 설치는 공식이 아닌 커뮤니티가 문서화한 방법입니다.
좋은 점
- 100 MB 미만의 바이너리 하나로 표 준 준수 Kubernetes 제공
- NVIDIA container runtime을 감지하고 nvidia RuntimeClass 제공
- 서버 노드는 2코어와 2 GB RAM이면 충분
- SUSE Rancher Prime으로 최대 5년 유료 지원
아쉬운 점
- NVIDIA device plugin을 쓰려면 nvidia를 기본 런타임으로 설정해야 함
- GPU Operator는 K3s 전용 containerd 경로가 필요하고 공식 문서가 없음
- 기본 단일 서버 SQLite 구성은 장애 조치가 없음
- 호스트 한 대라면 Docker Compose보다 배우고 패치할 것이 많음
추천 대상
GPU 머신 몇 대나 많은 엣지 거점에서 추론 또는 에이전트 서비스를 운영하면서 플랫폼 팀 없이 Kubernetes를 쓰고 싶은 소규모 팀.
K3s 대안
K3s: 자주 묻는 질문
- K3s, 쓸 만한 가치가 있습니까?
- GPU 머신 몇 대나 여러 엣지 거점에 알맞은 크기의 Kubernetes이지만, 머신이 한 대라면 여전히 Docker Compose가 관리 부담이 더 적습니다. 평점은 5점 만점에 4.4점입니다.
- K3s의 가격은 얼마입니까?
- Apache 2.0 기반의 무료 오픈 소스이며 유료 에디션은 없습니다. 상용 지원은 SUSE Rancher Prime(릴리스당 최대 5년)을 통해 제공되며 가격은 문의해야 합니다.
- K3s의 단점은 무엇입니까?
- NVIDIA device plugin을 쓰려면 nvidia를 기본 런타임으로 설정해야 함; GPU Operator는 K3s 전용 containerd 경로가 필요하고 공식 문서가 없음; 기본 단일 서버 SQLite 구성은 장애 조치가 없음; 호스트 한 대라면 Docker Compose보다 배우고 패치할 것이 많음.
- K3s에 적합한 사람은 누구입니까?
- GPU 머신 몇 대나 많은 엣지 거점에서 추론 또는 에이전트 서비스를 운영하면서 플랫폼 팀 없이 Kubernetes를 쓰고 싶은 소규모 팀.
- 팀이나 프로덕션 환경에서 K3s의 비용은 얼마입니까?
- 소프트웨어는 무료입니다. 문서 기준으로 2 vCPU와 4 GB 서버는 에이전트 350대까지, 4 vCPU와 8 GB는 900대까지 감당하며, 4 vCPU와 8 GB 서버 세 대면 약 1,200대에 이릅니다. 비용의 대부분은 GPU이며 Rancher Prime 지원은 가격 문의입니다.
- K3s에 회사 데이터를 맡겨도 안전합니까?
- Apache 2.0이며 유료 에디션은 없습니다. 클러스터 상태는 SQLite, 내장 etcd 또는 직접 운영하는 외부 데이터베이스에 저장됩니다. 포트 8472(Flannel VXLAN)는 인터넷에 노출하지 마십시오. GitHub 보안 권고는 3건이며 가장 최근 것은 중간 등급(2026년 6월)입니다.
- K3s의 가장 좋은 대안은 무엇입니까?
- 저희가 리뷰한 것 중 가장 가까운 대안은 Ollama, Mesh LLM 및 vLLM입니다.
답변 확인일: 2026년 11월 9일.