Overview Lightweight Kubernetes
Lightweight Kubernetes Distribution¶
K3S¶
Rancher Labs의 Rancher Project로 시작한 K3S는, 2020년 SUSE에 인수되고, SUSE는 같은 해 Linux Foundation에 K3S 프로젝트를 기부해 K3S가 Opensource로 유지되도록 하겠다는 약속을 지켰습니다.
이런 연유로 K3S는 공식 CNCF Sandbox Project가 되어 개발/유지되고 있습니다.
K3S는 IoT, Edge Computing 등을 목적으로 하는 초경량의 Kubernetes 배포판입니다.
MicroK8S¶
Ubuntu Linux를 개발하는 Canonical의 Kubernetes팀에 의해 개발된 MicroK8s는 Ubuntu의 Snaps를 통해 간편하게 설치할 수 있습니다.
LXD, juju 등과 함께 Canonical의 클라우스 생태계를 꾸려가고 있습니다.
MiniKube¶
Kubernetes 공식 홈페이지 Tutorial에도 등장하는 Minikube는 Kubernetes SIG(Special Interested Group)의 개발로 만들어진 최초의 경량 Kubernetes입니다. (2016년에 최초 Release)
개인적으로 minikube는 공부 및 테스트 목적의 Kubernetes라는 이미지가 강하고, 실제로 minikube의 목적이 Local Kubernetes 앱 개발 환경 구성 및 Kubernetes의 모든 기능 지원이라고 밝힌 바 있습니다.
K0S¶
Docker enterprise business를 인수한 Mirantis에서 만든 초경량 배포판입니다.
K3s와 종종 비교되는데, K3s에 비해 더 경량화되었다고 하긴 어려워 보입니다.
Compare Lightweight Kubernetes Distros¶
K3S | MicroK8S | Minikube | K0S | |
---|---|---|---|---|
CPU | 1 | 2 | 2 | 1 |
RAM | 0.5 GB | 2 GB | 1 GB | 1 GB |
CNI | Flannel | Calico, Cilium | Calico, Cilium, Flannel | kube-router, Calico |
CRI | containerd, CRI-O | containerd, kata | containerd, CRI-O | containerd |
K3s를 선택한 이유¶
일반적인 경량 Kubernetes Distro의 사용 목적, 리소스 제약, 편의성(친밀도)를 기준으로 선택하게 됩니다.
Kubernetes 기반으로 Home Server를 구현할 리소스가 노트북이라 업그레이드가 쉽지 않고, 심지어 구형이기 때문에 RAM 확장이 절대 불가능할 것으로 생각되어 리소스 제약을 기준으로 K3s를 선택했습니다.