5.3 K3s를 이용한 쿠버네티스 설치
이전 섹션에서는 사용자 친화적인 Rancher Desktop을 이용하여 로컬 쿠버네티스 환경을 구축하는 방법을 살펴보았습니다. GUI의 편리함 덕분에 비교적 쉽게 시작할 수 있었죠. 이번 섹션 5.3에서는 또 다른 접근 방식으로 로컬 쿠버네티스 환경을 구축하는 경험을 해보겠습니다. 바로 경량 쿠버네티스 배포판인 K3s를 직접 설치하는 방법입니다. Rancher Desktop이 내부적으로 K3s를 사용하는 경우가 많다고 말씀드렸는데, 이번에는 그 K3s를 ‘포장지’ 없이 직접 설치하고 설정해보면서 그 본연의 모습과 특징을 좀 더 깊이 이해하는 시간을 가질 것입니다. 이는 CLI 환경에 더 익숙해지고 쿠버네티스 설치 과정을 좀 더 근본적으로 경험하고 싶은 분들에게 특히 유용한 여정이 될 것입니다.
먼저, K3s가 정확히 무엇이며 어떤 특별한 특징들을 가지고 있는지(5.3.1) 다시 한번 명확히 짚고 넘어가겠습니다. K3s가 왜 ‘경량’이라고 불리는지, 그 기술적인 배경(예: 불필요한 기능 제거, SQLite 기본 사용, 단일 바이너리 패키징 등)을 복습하고, 이것이 가져다주는 실질적인 이점들 – 놀라운 설치 속도, 낮은 리소스 요구 사항, 그럼에도 불구하고 CNCF 인증을 받은 완전한 표준 호환성 – 을 다시 한번 강조할 것입니다. K3s의 이러한 특징들이 왜 로컬 개발 환경뿐만 아니라 엣지 컴퓨팅이나 CI/CD 파이프라인 같은 다양한 시나리오에서도 각광받는지 이해하는 것은 쿠버네티스 생태계의 다양성을 파악하는 데 도움이 됩니다.
다음으로는, 이 책의 기준 환경인 **openSUSE 리눅스에 K3s를 직접 설치하는 실습(5.3.2)**을 진행합니다. K3s의 가장 큰 매력 중 하나는 바로 설치의 간편함입니다. 일반적으로 제공되는 간단한 설치 스크립트를 터미널에서 단 한 줄의 명령어로 실행하는 것만으로 기본적인 설치 과정이 완료됩니다. 이 스크립트가 내부적으로 어떤 작업을 수행하는지(K3s 바이너리 다운로드, 시스템 서비스 등록 등) 개념적으로 이해하고, 함께 명령어를 실행하여 여러분의 openSUSE 시스템에 K3s 서버(컨트롤 플레인)를 성공적으로 구동시켜 보겠습니다. Rancher Desktop의 GUI 방식과는 또 다른, CLI 기반의 빠르고 직접적인 설치 경험을 하시게 될 겁니다.
마지막으로, K3s가 성공적으로 설치되고 실행 중인지 환경을 확인하고, 쿠버네티스와 소통하기 위한 kubectl 설정을 완료하는 중요한 단계(5.3.3)를 거칩니다. K3s는 설치 시 자체적인 kubeconfig 파일을 특정 위치(보통 /etc/rancher/k3s/k3s.yaml)에 생성합니다. kubectl 명령어가 이 새로 설치된 K3s 클러스터와 통신하기 위해서는 바로 이 설정 파일을 사용하도록 명시적으로 지정해주거나, 혹은 이 파일의 내용을 여러분의 기본 ~/.kube/config 파일에 병합하는 작업이 필요합니다. 이 kubectl 설정 과정은 Rancher Desktop이 자동으로 처리해주던 부분과 달리 직접 수행해야 하므로, 쿠버네티스 클라이언트 설정의 기본 원리를 이해하는 좋은 기회가 될 것입니다. 설정이 완료되면, 이전 섹션에서 했던 것과 유사하게 kubectl cluster-info와 kubectl get nodes 명령어를 실행하여 클러스터 정보와 노드 상태(특히 STATUS가 Ready인지)를 확인함으로써, 우리의 직접 설치한 K3s 클러스터가 완벽하게 작동할 준비가 되었음을 최종적으로 검증합니다.
이 섹션 5.3을 마치면, 여러분은 Rancher Desktop을 통한 방법 외에도 K3s를 직접 설치하고 설정하는 또 다른 강력한 방법을 습득하게 됩니다. 이는 여러분의 로컬 쿠버네티스 환경 구축 옵션을 넓혀줄 뿐만 아니라, K3s와 쿠버네티스 설치 과정에 대한 더 깊은 이해를 제공할 것입니다.