로컬 Kubernetes 배포판 비교

cloud2000·2026년 4월 19일

Kubernetes 배포판 비교

로컬 PC에서 kubernetes에 배포되어 micro service환경에서 개발/테스트할 수 있도록 하는 가벼운 kubernetes 배포판에 대해 정리함.


1. 개요 비교

항목k3skindk3dDocker Desktop K8sOrbStackMicroK8s
개발사Rancher (SUSE)Kubernetes SIGRancher (SUSE)Docker Inc.OrbStack Inc.Canonical
기반경량화 K8s 바이너리Docker 컨테이너Docker + k3s내장 K8s내장 K8s (Linux VM)snap 패키지
지원 OSLinux (권장), macOS, WindowsLinux, macOS, WindowsLinux, macOS, WindowsmacOS, WindowsmacOS (Apple Silicon/Intel)Linux (Ubuntu 권장), macOS, Windows
사용 목적프로덕션·엣지·IoTCI/CD, 테스트로컬 개발, 멀티 클러스터GUI 중심 개발macOS 개발 최적화프로덕션·개발·엣지
멀티 클러스터❌ (단일)❌ (단일)
ARM 지원✅ (Apple Silicon)✅ (Apple Silicon)
Air-gap 지원✅ (이미지 사전 로드)제한적
라이선스Apache 2.0Apache 2.0MIT유료 (비상업 무료)유료 (개인 무료)Apache 2.0

2. 설치 방법

배포판LinuxmacOSWindows
k3scurl -sfL https://get.k3s.io \| sh -❌ 미지원 (VM 필요)❌ 미지원 (WSL2 사용)
kindgo install sigs.k8s.io/kind@latest 또는 brew install kindbrew install kindchoco install kind 또는 winget install kind
k3dcurl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh \| bashbrew install k3dchoco install k3d
Docker Desktop K8s❌ 미지원Docker Desktop 설치 → Settings → Kubernetes → EnableDocker Desktop 설치 → Settings → Kubernetes → Enable
OrbStack❌ 미지원brew install orbstack 또는 orbstack.dev 에서 dmg 설치❌ 미지원
MicroK8ssudo snap install microk8s --classicbrew install ubuntu/microk8s/microk8s && microk8s installwinget install Canonical.MicroK8s

설치 후 초기 설정

배포판kubeconfig 설정
k3sexport KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kindkind create cluster 실행 시 자동으로 ~/.kube/config 업데이트
k3dk3d cluster create 실행 시 자동으로 ~/.kube/config 업데이트
Docker Desktop K8sDocker Desktop이 자동으로 ~/.kube/config 업데이트
OrbStackorb CLI 또는 GUI에서 자동 설정
MicroK8smicrok8s kubectl config view --raw > ~/.kube/config 또는 microk8s config > ~/.kube/config

3. 클러스터 생성 방법

배포판기본 생성 명령어예시 (포트 매핑, 이름 지정 등)
k3scurl -sfL https://get.k3s.io \| sh - (설치=기동)curl -sfL https://get.k3s.io \| INSTALL_K3S_EXEC="--disable=traefik" sh -
kindkind create clusterkind create cluster --name my-cluster --config kind-config.yaml
k3dk3d cluster createk3d cluster create my-cluster -p "8080:80@loadbalancer" --agents 2
Docker Desktop K8sGUI에서 Enable 체크추가 설정은 Docker Desktop UI에서
OrbStackGUI 또는 orb start k8sorb start k8s (버전 선택 가능)
MicroK8s설치 후 자동 기동microk8s enable dns ingress storage

4. 기동 / 중지 / 삭제 방법

배포판기동 (Start)중지 (Stop)재시작 (Restart)삭제 (Delete)
k3ssudo systemctl start k3ssudo systemctl stop k3ssudo systemctl restart k3s/usr/local/bin/k3s-uninstall.sh
kinddocker start <노드 컨테이너>docker stop <노드 컨테이너>kind delete cluster --name <name>
k3dk3d cluster start <name>k3d cluster stop <name>k3d cluster stop <name> && k3d cluster start <name>k3d cluster delete <name>
Docker Desktop K8sDocker Desktop 실행 (자동 기동)Settings → Kubernetes → Reset 또는 Docker Desktop 종료Docker Desktop 재시작Settings → Kubernetes → Disable → Reset
OrbStackorb start / GUI 실행orb stop / GUI 종료orb restartGUI에서 Reset 또는 brew uninstall orbstack
MicroK8smicrok8s startmicrok8s stopmicrok8s stop && microk8s startsudo snap remove microk8s

5. 주요 명령어 치트시트

배포판상태 확인노드 확인대시보드 접속로그 확인
k3ssudo systemctl status k3ssudo k3s kubectl get nodeskubectl proxy 후 브라우저 접속journalctl -u k3s -f
kindkind get clusterskubectl get nodeskubectl proxydocker logs <kind-node>
k3dk3d cluster listkubectl get nodeskubectl proxyk3d node logs <name>
Docker Desktop K8sDocker Desktop 트레이 아이콘kubectl get nodesDocker Desktop → DashboardDocker Desktop 로그
OrbStackorb statuskubectl get nodesOrbStack GUIOrbStack GUI
MicroK8smicrok8s statusmicrok8s kubectl get nodesmicrok8s enable dashboardmicrok8s dashboard-proxymicrok8s kubectl logs -n kube-system ...

6. 특장점 비교

배포판장점단점
k3s• 단일 바이너리 (~70MB), 극히 낮은 메모리 사용 (512MB RAM)
• 프로덕션 수준 안정성 (CNCF 인증)
• Air-gap 환경 완벽 지원
• IoT·엣지·ARM 최적화
• 빠른 기동 시간 (수 초 이내)
• 멀티노드 클러스터 구성 가능
• macOS/Windows 네이티브 미지원
• 멀티 클러스터 관리 불편
• 일부 K8s 기능 경량화로 제거됨
kind• 공식 K8s 완전 호환 (SIG 공식 프로젝트)
• 멀티노드·멀티 클러스터 손쉽게 구성
• CI/CD 파이프라인(GitHub Actions 등)에 최적화
• 사전 구성된 이미지로 빠른 프로비저닝
• 네트워크 정책 테스트에 적합
• 컨테이너 안에서 실행 → 리소스 오버헤드
• 퍼시스턴트 볼륨 설정 복잡
• LoadBalancer 타입 서비스 기본 미지원 (MetalLB 필요)
• 컨테이너 재시작 시 데이터 소실 가능
k3d• k3s + Docker의 장점 결합
• 멀티 클러스터·멀티노드 손쉽게 구성
• 포트 매핑, 볼륨 마운트 간편
• k3s의 경량성 유지하면서 Docker 생태계 활용
• 빠른 클러스터 생성/삭제
• Docker가 필수 의존성
• 완전한 K8s 호환성은 kind에 비해 낮음
• Docker Desktop 유료화 정책 영향 받음
Docker Desktop K8s• GUI 기반 쉬운 설정
• Docker와 완벽 통합 (이미지 공유 즉시 가능)
• Windows/macOS 공식 지원
kubectl, Docker CLI 자동 설정
• 볼륨 마운트가 로컬 파일과 자연스럽게 연동
• 비상업적 사용만 무료 (상업 이용 시 유료)
• 리소스 사용량 많음
• 단일 클러스터만 지원
• K8s 버전 선택 제한적
• Air-gap 미지원
OrbStack• macOS에서 Docker Desktop 대비 극히 낮은 리소스 사용
• Apple Silicon 네이티브 최적화 (Rosetta 불필요)
• 빠른 VM 기동 (<1초)
• Linux 컨테이너 + K8s + Linux VM을 하나의 앱에서
~/.kube/config 자동 설정
• 개인 사용자 무료
• macOS 전용 (Linux/Windows 미지원)
• 상업 이용 시 유료
• 단일 클러스터만 지원
• 커뮤니티/생태계가 상대적으로 작음
• Air-gap 미지원
MicroK8s• Ubuntu/Canonical 공식 지원, snap으로 간편 설치
• 애드온 시스템으로 기능 확장 용이 (dns, ingress, storage, registry, gpu 등)
• CNCF 인증 완전 호환
• HA(고가용성) 클러스터 구성 가능
• 프로덕션 운영 가능 수준
• GPU 워크로드 지원 (microk8s enable gpu)
• Ubuntu/Linux 환경에서 가장 최적화 (다른 OS는 VM 경유)
• snap 의존성 (일부 환경에서 제약)
• 메모리 사용량이 k3s보다 높음
• 초기 설정 학습 곡선 존재

7. 용도별 추천

사용 시나리오추천 배포판이유
Air-gap / 온프레미스 프로덕션k3s완전한 Air-gap 지원, 경량, CNCF 인증
CI/CD 파이프라인 (GitHub Actions 등)kind공식 K8s SIG 지원, 멀티 클러스터, 빠른 프로비저닝
로컬 멀티 클러스터 개발k3dk3s 경량성 + 멀티 클러스터 손쉬운 구성
macOS 개발 환경 (성능 중시)OrbStack낮은 리소스, Apple Silicon 최적화
Windows/macOS GUI 사용자Docker Desktop K8s가장 쉬운 설정, Docker 연동
Ubuntu 서버 / IoT / GPU 워크로드MicroK8sCanonical 공식 지원, GPU 애드온, 안정적
반도체 fab Air-gap 온프레미스 K8sk3s경량 바이너리, Air-gap 완벽 지원, 프로덕션 안정성

8. 리소스 사용량 비교 (참고치)

배포판최소 RAM최소 CPU디스크
k3s~512MB1 core~200MB
kind~1GB2 cores~1GB+ (이미지 포함)
k3d~512MB1 core~500MB (k3s 이미지)
Docker Desktop K8s~4GB (Docker 포함)2 cores~5GB+
OrbStack~1GB (전체 앱)1 core~2GB
MicroK8s~1GB1 core~1GB

※ 실제 사용량은 워크로드, 애드온 활성화 여부에 따라 크게 달라질 수 있습니다.


참고 링크

배포판공식 문서
k3shttps://docs.k3s.io
kindhttps://kind.sigs.k8s.io
k3dhttps://k3d.io
Docker Desktop K8shttps://docs.docker.com/desktop/kubernetes/
OrbStackhttps://docs.orbstack.dev/kubernetes/
MicroK8shttps://microk8s.io/docs
profile
유티클라우드

0개의 댓글