k3s를 이용한 간단한 Kubernetes 환경 구축 가이드

Source

  • Evernote/Inbox/si.mpli.st.md

Summary

이 문서는 Rancher Labs에서 개발한 경량 Kubernetes 배포판인 k3s를 사용하여 테스트 환경이나 개인 서버에 Kubernetes를 쉽게 구축하는 방법을 안내합니다. 기존 Kubernetes의 복잡한 설정과 높은 시스템 요구사항을 해결하기 위해 k3s가 sqlite를 기본 데이터베이스로 사용하며 containerd를 런타임으로 채택하는 등 경량화되었음을 설명합니다. AWS Lightsail(Debian) 인스턴스를 예시로 들어, 방화벽 설정(포트 6443, 443), 패키지 업데이트, 단일 명령어(curl -sfL https://get.k3s.io | sh -)를 통한 k3s 설치 및 systemd 서비스 확인 과정을 다룹니다. 또한, 로컬 개발 환경에서 원격 클러스터에 접속하기 위해 /etc/rancher/k3s/k3s.yaml 설정 파일을 복사하고, 서버 IP 및 컨텍스트 이름을 수정한 후 KUBECONFIG 환경 변수를 설정하는 방법을 단계별로 설명합니다.

Key Points

  • k3s는 Rancher Labs에서 만든 경량 Kubernetes 배포판으로, etcd 대신 sqlite를 기본으로 사용하며 containerd를 컨테이너 런타임으로 채택하여 시스템 요구사항을 대폭 낮췄습니다.
  • 설치는 curl -sfL https://get.k3s.io | sh - 명령어 하나로 가능하며, 설치 후 자동으로 systemd 서비스로 등록되어 실행됩니다.
  • 테스트 환경 구축 예시로 AWS Lightsail(Debian)을 사용하며, Kubernetes API 접근을 위해 포트 6443과 HTTPS를 위해 포트 443을 방화벽에서 개방해야 합니다.
  • 로컬에서 원격 k3s 클러스터에 접속하려면 서버의 /etc/rancher/k3s/k3s.yaml 파일을 로컬로 복사한 후, 서버 IP(127.0.0.1 -> 실제 IP)와 컨텍스트 이름을 수정해야 합니다.
  • 수정된 설정 파일을 KUBECONFIG 환경 변수에 추가하고 kubectl config use-context 명령어로 컨텍스트를 전환하면 로컬에서 클러스터를 제어할 수 있습니다.