
쿠버네티스 표준인 kubeadm대신 로컬 개발이나 엣지 디바이스(IoT) 환경에 최적화된 경량화 쿠버네티스 배포판인 K3s와 MicroK8s에 대해 알아보자.
SUSE Rancher에서 개발한 K3s는 이름에서 알 수 있듯 K8s에서 Memory Footprint를 절반으로 줄인 초경량 쿠버네티스 배포판이다.
k3s server로 실행하면 Control-plane 컴포넌트들이 내부 프로세스 스레드로 뜬다. k3s agent로 실행하면 Worker Node 컴포넌트들만 뜬다.etcd 대신, 기본적으로 SQLite를 사용하여 단일 노드에서 매우 가볍게 동작한다. curl -sfL https://get.k3s.io | sh -curl -sfL https://get.k3s.io | K3S_URL=https://{myserver}:6443 K3S_TOKEN=MYNODETOKEN sh -/usr/local/bin/k3s-uninstall.shUbuntu의 제작사인 Canonical에서 제공하는 경량화된 쿠버네티스 배포판이다. 로컬 개발 환경, CI/CD, 그리고 워크스테이션 환경에 최적화되어 있다.
snap 패키지 매니저를 통해 한 줄로 설치되고, 자동 업데이트 및 롤백 관리가 매우 쉽다.kubeadm에 비해 설치가 빠르고 간편하며, 클러스터 관리에 들어가는 운영(Ops) 부담을 최소화한다.microk8s enable <addon-name> 명령어 하나로 수많은 기능을 켜고 끌 수 있다는 것이다.dns, ingress, metallb (Loadbalancer), multusdashboard, metrics-server, prometheus, fluentd (ELK 스택)storage, openebsistio, linkerd, gpu (CUDA 지원), kubeflowsudo snap install microk8s --classicsudo snap remove microk8s| 배포 도구 | 대상 환경 | 아키텍처 및 주요 특징 | 주요 이점 | 제약 사항 |
|---|---|---|---|---|
| kubeadm | 프로덕션 (표준 K8s) | Kubernetes 공식 클러스터 프로비저닝 도구로 control-plane 및 worker node의 구성을 관리자가 세밀하게 제어하는 표준화된 방식 제공 | 인프라 아키텍처의 유연성이 가장 높으며, 대규모 엔터프라이즈 클러스터 구축 및 확장에 최적화됨 | 초기 구성의 복잡도가 높고, 호스트 OS 및 컨테이너 런타임에 대한 사전 종속성 해결이 요구됨 |
| minikube / kind | 로컬 개발 및 테스트 | 로컬 호스트 내의 가상 머신 또는 Docker 컨테이너 환경을 활용하여 격리된 단일 노드 클러스터를 구축함 | 단일 호스트 환경에서 신속한 클러스터 프로비저닝 및 폐기가 용이하여, 애플리케이션 개발 주기를 단축함 | 물리적 Multi Node 확장에 제약이 따르며, 프로덕션 수준의 운영 환경 배포에는 부적합함 |
| K3s | Edge / IoT / CI | 단일 바이너리 아키텍처 및 경량 데이터스토어를 채택하여 메모리 풋프린트를 최소화한 경량화 배포판 | 리소스 오버헤드가 매우 낮아 ARM 아키텍처(Jetson 등)와 같은 엣지 디바이스 환경에서의 클러스터 구성에 최적화됨 | 기본 데이터스토어가 표준 etcd가 아니므로, 수백 개 이상의 노드를 가진 대규모 클러스터 적용 시 아키텍처 재검토가 필요함 |
| MicroK8s | 로컬 / 워크스테이션 | Snap 패키징 시스템을 활용하여 운영 개입을 최소화한 배포판으로, 확장형 애드온 생태계를 제공함 | Ubuntu 환경과의 높은 호환성을 보장하며, 단일 명령어로 다양한 클라우드 네이티브 애드온(Istio, GPU 등)의 즉각적인 활성화가 가능함 | Snap 패키지 관리자에 대한 강한 의존성이 존재하여, 타 리눅스 배포판(CentOS 등) 적용 시 호환성 제약 및 설치의 번거로움이 발생할 수 있음 |
결론적으로, 이전 포스팅에서 다루었던 Jetson(NVIDIA Orin Nano)과 같은 ARM 기반의 엣지 디바이스에 배포한다면 극단적으로 가벼운 K3s가 유리하며, 넉넉한 리소스의 Ubuntu 워크스테이션에서 다양한 애드온을 빠르게 테스트하고 싶다면 MicroK8s가 좋은 선택이 될 것이다.