제 5 장: 로컬 쿠버네티스 클러스터 구축
지난 장들에서 우리는 클라우드 네이티브의 핵심 개념과 쿠버네티스가 왜 중요한지에 대해 알아보았습니다. 이제 이론을 넘어 직접 쿠버네티스를 경험해 볼 시간입니다. 이번 5장에서는 여러분의 개인 컴퓨터에 쿠버네티스 클러스터를 직접 구축하는 여정을 시작합니다.
실제 운영 환경이나 클라우드에 쿠버네티스를 바로 설치하는 것은 복잡하고 비용 부담도 따를 수 있습니다. 특히 처음 배우는 단계에서는 더욱 그렇죠. 그래서 우리는 로컬 환경, 즉 여러분의 노트북이나 데스크톱에 안전하고 편리하게 쿠버네티스를 설치하는 방법을 먼저 알아볼 것입니다. 로컬 환경의 가장 큰 장점은 실패에 대한 부담 없이 자유롭게 실험하고, 개발 중인 애플리케이션을 즉각적으로 테스트하며, 쿠버네티스의 동작 원리를 깊이 있게 학습할 수 있다는 점입니다. 마치 운전 연습을 실제 도로가 아닌 안전한 주행 연습장에서 시작하는 것과 같습니다.
세상에는 Minikube, Kind, K3d 등 다양한 로컬 쿠버네티스 도구들이 존재합니다. 각 도구는 저마다의 장단점을 가지고 있죠. 이 책에서는 여러 도구들을 간략히 비교해보고, 그중에서도 Rancher Desktop과 K3s를 선택하여 집중적으로 다룰 것입니다. Rancher Desktop은 사용자 친화적인 인터페이스와 함께 쿠버네티스와 컨테이너 관리 기능을 통합적으로 제공하며, K3s는 가볍고 빠르면서도 표준 쿠버네티스 기능을 충실히 제공하여 리소스가 제한적인 환경에서도 효과적이기 때문입니다. 이 두 도구를 통해 여러분은 각기 다른 방식으로 로컬 쿠버네티스 환경을 구축하는 경험을 쌓게 될 것입니다.
먼저 Rancher Desktop을 살펴보겠습니다. Rancher Desktop이 어떤 구조로 동작하는지 알아보고, 이 책의 실습 환경인 openSUSE 리눅스에 Rancher Desktop을 설치하는 과정을 단계별로 안내할 것입니다. 설치가 완료된 후에는 Rancher Desktop이 제공하는 기능들을 통해 쿠버네티스 클러스터가 성공적으로 준비되었는지 함께 확인해 보겠습니다.
다음으로 K3s를 이용한 설치 방법을 알아봅니다. K3s는 CNCF(Cloud Native Computing Foundation)의 인증을 받은 경량 쿠버네티스 배포판으로, 특히 IoT나 엣지 컴퓨팅 환경, 그리고 개발 환경에서 주목받고 있습니다. K3s의 특징과 장점을 살펴본 뒤, 마찬가지로 openSUSE 환경에 K3s를 직접 설치하고, 쿠버네티스 클러스터와 상호작용하기 위한 필수 도구인 kubectl을 설정하여 클러스터 상태를 확인하는 방법을 배울 것입니다. kubectl은 앞으로 여러분이 쿠버네티스와 소통하는 가장 중요한 창구가 될 것이므로, 이 과정에 익숙해지는 것이 매우 중요합니다.
로컬 클러스터 구축이 완료되었다면, 이제 실제로 무엇인가를 실행해 보아야겠죠? 마지막으로 우리는 이 로컬 쿠버네티스 환경 위에 첫 번째 애플리케이션을 배포하는 실습을 진행합니다. 간단한 Nginx 웹서버 컨테이너를 쿠버네티스 클러스터에 배포하고, 쿠버네티스의 Service 객체, 그중에서도 NodePort 타입을 이용하여 이 웹서버를 클러스터 외부, 즉 여러분의 웹 브라우저에서 접근 가능하도록 노출시키는 방법을 배울 것입니다. 이 과정을 통해 여러분은 쿠버네티스에서 애플리케이션을 배포하고 서비스하는 가장 기본적인 흐름을 직접 경험하게 될 것입니다.
이번 5장을 마치고 나면, 여러분은 자신의 컴퓨터에 동작하는 쿠버네티스 클러스터를 갖게 될 뿐만 아니라, 간단한 애플리케이션을 직접 배포하고 외부에서 접속해보는 값진 경험을 하게 될 것입니다. 이는 앞으로 더 복잡한 클라우드 네이티브 애플리케이션을 다루기 위한 튼튼한 첫걸음이 될 것입니다. 자, 그럼 이제 함께 로컬 쿠버네티스 클러스터 구축을 시작해 볼까요?