해당 글은 쿠버네티스 교과서 책과 공식 홈페이지(https://kubernetes.io/ko/)를 참조하여 작성되었습니다
쿠버네티스를 사용하기 위한 서비스들은 굉장히 많다
이 책에서는 Minukube를 사용하는데, 다른 책에서는 Rancher를 쓰는 등 책이나 강의마다 모두 다르다
쿠버네티스는 실제 구축해보며 배워가는 것이 가장 좋다고 생각하는데, 이처럼 선택지가 많으면 어떤 걸 사용해야 할지 몰라 시작도 전에 지쳐버리기 쉽다
그런고로 쿠버네티스에 대해 제대로 알아보기 전에 사용 도구들부터 간략히 정리해보려고 한다
실제 사용하는 프로덕션 환경에서는 두말할 것 없이 k8s와 클라우드 관리 서비스/설치형 서비스를 사용해야 한다고 생각한다
그래야 온전한 기능을 사용할 수 있으며, 복잡한 실제 환경을 관리하기가 편하기 때문이다
하지만 로컬은 제약이 많을 수 밖에 없다
쿠버네티스를 온전히 사용하려면 마스터 노드 하나에 워커 노드 여러대가 있는 구조인데, 로컬에서 이를 구현하기란 쉽지않다
쿠버네티스를 구축하기 위해 물리 서버나 클라우드 서버를 활용할 수 있는데,
일단 대부분 컴퓨터/노트북같은 물리적 서버가 1대 이다보니 자원에 제약이 많다
클라우드라면 제약없이 사용할 수 있지 않을까 싶지만 그 방법은 비용이 감당이 안된다
그러다보니 기존 기능을 축소하고 노드 개수도 줄이는 등 다양한 경량화를 통해 로컬 환경을 지원한다
책마다 혹은 강의마다 서비스가 달라지는 것은 바로 이러한 이유에서 이다
오늘은 이에 대해 알아보자
우선 로컬은 단일 노드 클러스터를 기본으로 한다
대부분 학습을 위한 용도일텐데 굳이 복잡하게 구현할 필요가 없기 때문이다
달라지는 것은 설치형으로 GUI까지 지원하는지, 아님 그냥 구축하기 위한 솔루션만 제공하는지에 따라 다르다
프로그램만 설치하면 필요한 것들이 설치가 되며, GUI 지원하는데다 Extension으로 추가 플러그인을 설치하는 등 여러 부가 기능도 지원한다
다만 그런만큼 용량이 무겁고 오류시에 커스텀이 조금 어렵다는 단점이 있다
Docker-Desktop
가장 유명하지 않을까 싶은데, 현재 유료버전으로 바뀌는 바람에 대체재를 많이 찾은 것으로 알고 있다
Rancher-Desktop
Docker Desktop의 대체재로 유명한 서비스이다
앞서 설명한 Rancher의 데스크톱 버전이 아니라, 로컬에서 쿠버네티스를 실행하기 위한 버전으로 둘은 다른 것이다
이것저것 설치할 필요없이 프로그램 하나만 설치하면 되어서 간편하다
또한 GUI가 비교적 잘 되어있는 것도 장점중에 하나이다
앞선 것과는 다르게 쿠버네티스를 구축하기 위한 솔루션만 제공한다
그러다보니 용량도 상당히 가볍고 좋지만, CLI로 구축을 해야하기에 조금 불편할 수도 있다
어렵기는 하지만 로컬에서 실제 환경을 구축할 수 있는 가장 좋은 방법이다
좋은 점이야 클라우드 서비스 이기에 불필요한 관리가 필요없다는 것이고, 단점은 비용이 어마어마하다는 것 정도..?
종류는 다음과 같다