개발자

“알짜만 남겼다” 단출한 컨테이너 관리를 위한 쿠버네티스 배포판 3가지

Serdar Yegulalp | InfoWorld 2022.12.15
“작은 것이 아름답다.” 일찍이 철학자 E.F 슈마허는 이렇게 말했다. 쿠버네티스는 강력하지만 어디로 뻗을지 모르는 컨테이너 오케스트레이션 플랫폼으로, 군살을 쏙 빼면 더 좋아질 수 있다. 모든 사람이 기본 쿠버네티스 배포판에서 툴과 기능을 완전체로 필요로 하진 않기 때문이다. 
 
ⓒ Getty images Bank

쿠버네티스를 단출한 애플리케이션으로 커스터마이징할 시간이 없거나 특별한 노하우가 없을지도 모른다. 하지만 누군가는 그런 작업을 해뒀다. 기본으로 돌아가는 쿠버네티스 배포판 3가지 버전을 살펴보자.

미니큐브(Minikube)

미니큐브는 쿠버네티스의 공식 리패키징한 버전으로, 쿠버네티스의 로컬 인스턴스를 개발자의 노트북에 설치할 수 있다. 2GB 가용 메모리에 CPU 2개, 스토리지 용량 20GB, 도커, 하이퍼-V, 패러렐즈 같은 컨테이너 또는 가상머신(VM) 관리자 등이 최소 요건에 해당한다. 참고로 맥에는 아직까지 M1 빌드가 없으므로, x86-64만 가능하다.

간단한 미니큐브 클러스터 설정·배치는 단 2단계로 이뤄진다. 첫째, 미니큐브 런타임을 설치하고 명령줄에서 minikube start를 입력한다. 그 다음은 표준 쿠버네티스에서 하던 대로 하면 된다. 클러스터와 소통하려면 Kubect1을 실행한다. 

미니큐브에는 웹 기반 쿠버네티스 대시보드도 있는데, 쿠버네티스 대시보드를 이용하면 클러스터 모니터링을 한 눈에 할 수 있다. 샘플 애플리케이션으로 명령어를 실행할 수 있으며, 로드밸런싱도 적용할 수 있다. 

이외에도 미니큐브는 도커 데스크톱을 교체할 때에도 많이 쓰인다. 참고로 a) 도커 컨테이너 런타임을 이용해 b) 컨테이너 런타임 대신 미니큐브를 VM 드라이버로 실행하면 된다. 

미니큐브 사용례: 미니큐브는 개인용 개발 클러스터 또는 도커 데스크톱 대체재로 쓰는 경우가 많다.

K3s

K3s는 CNCF(Cloud Native Computing Foundation) 프로젝트로, ‘경량급 쿠버네티스’라고도 한다. K3s는 리소스가 제한된 환경에서 쿠버네티스를 실행하는 데 최적화 돼있다. 라즈베리파이도 k3s 기기 역할을 수행할 때조차도, k3s는 ARM64과 ARMv7 빌드를 제공한다. 참고로 k3s는 마이크로소프트 윈도우나 맥OS에서는 실행되지 않으며, 레드햇 엔터프라이즈 리눅스 또는 라즈베리파이 OS 같은 현대화된 리눅스에서만 사용할 수 있다. 

K3s는 RAM 512MB~1GB, CPU 1개, 클러스터 데이터베이스용 4GB 이상 디스크 공간 등을 갖춰야 운영할 수 있다. 기본값으로 k3s에서 내부 데이터베이스용 SQLite를 이용하기도 하지만, 대표 쿠버네티스 기본값인 etcd 또는 MySQL, 포스트그레스로도 교환할 수 있다. 

K3s 코어 런타임은 단일 바이너리로, 설치에 필요한 팅커링을 최소화하며 합리적인 기본 구성으로 실행된다. 설치 시 다운로드를 명령하는 단일 쉘 명령어 입력과 k3s를 서비스로 설치만 하면 된다. K3s를 설치하지 않아도 그대로 실행도 가능하다.

K3s 자체가 압축적이고 장식적이지 않으므로 사용자가 직접 이런저런 기능을 추가로 설치하거나 명령줄 레시피를 따라야 한다. 기술지원문서에서 쿠버네티스 대시보드를 추가하는 방법과 기본 컨테이너 런타임으로 도커에서 교환, 에어 갭 모드에서 k3s 실행과 기타 유용한 수정 사항 이행과 관련한 지시 사항을 제시한다. 

K3s 사용례: K3s는 엣지 컴퓨팅, 임베디드 시나리오에 최적화된 소형 배포판이다. 

K0s

K0s는 미란티스(Mirantis)에서 파생된 것으로, 편리한 배치를 위해 단일 바이너리로 배포된다. 리소스 요구사항 또한 싱글 노드에 CPU 하나, RAM 1 GB로 단출하며 싱글 노트, 클러스터, 에어 갭 구성 또는 내부 도커로 실행할 수 있다.

시작 속도를 높이려면 k0s 바이너리를 캡처해 서비스로 설정하면 된다. 아니면 전용 설치 도구인 k0sctl를 사용해 단일 클러스터에서 다중 노드를 설치하거나 업그레이드할 수 있다. K0s는 마이크로소프트 윈도우 운영체제에서 실행이 가능은 하지만, 아직까지는 실험 대상이다. 한 가지 예측하지 못한 강력한 기능으론, 기본값에 포함 자동 업데이트 기능이다. 작업 일정에 따라 클러스터 업데이트 계획을 조정하는 데 이 기능을 활용할 수 있는데, 업그레이드가 중단되는 사태를 막으려면 안전한 장소에서 해야 한다. 

K0s 문서로 다양한 커스터마이제이션 레시피를 받을 수 있다. 예를 들어 에어 갭 모드에서 클러스터를 실행하려면 제한된 인터넷 액세스를 통해 클러스터 설치, 실행, 업데이트를 다룬 지침을 따르는 것이 좋다. 기타 유용한 기술지원문서 레시피로는 고가용성 제어 영역을 설정하는 세부 방법을 알려준다. 또한 로드밸런싱과 입력 제어 등 일부 구성요소가 기본 제공되지 않더라도 해당 요소를 수동으로 추가하는 방법에 대한 설명이 제공된다. 

K0s 사용례: 향후 확장될 개인적인 개발 및 초기 배치에 K0s 용례를 사용하라.
editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.