DevOps

[k8s] 프라이빗 클라우드 구축을 위한 K3s 추천 가이드

es6.kr 2025. 2. 1. 15:27
반응형

클라우드 환경을 직접 운영하려는 기업이나 개인 개발자는 경량화된 쿠버네티스(Kubernetes) 솔루션을 고려해야 한다. K3s는 CNCF(Cloud Native Computing Foundation)에서 공식 인증한 경량 쿠버네티스로, 저사양 환경에서도 원활하게 동작하며 프라이빗 클라우드 구축에 적합하다.


1. K3s가 프라이빗 클라우드에 적합한 이유

1.1. 가벼운 설치 및 운영

기존 쿠버네티스(Kubernetes)는 설정이 복잡하고 운영 비용이 높다. 반면 K3s는 단일 바이너리(약 100MB)로 제공되며, 설치 과정이 간단하다. 불필요한 기능을 제거하고 최소한의 리소스로 동작하도록 설계되어 있어 저사양 서버에서도 실행할 수 있다.

1.2. 낮은 리소스 사용량

K3s는 불필요한 기능(예: 레거시 스토리지 드라이버, 자체 DNS 등)을 제거하여 리소스 사용량을 최소화했다. 또한 SQLite를 기본 데이터베이스로 사용하며, 필요 시 외부 MySQL이나 PostgreSQL과 연동할 수도 있다.

1.3. 단순한 멀티 노드 클러스터 구성

K3s는 단일 서버(master) 노드에 여러 개의 워커(agent) 노드를 연결하거나, 여러 개의 서버를 구성하는 방식으로 클러스터를 확장할 수 있다.


2. K3s 설치 및 구성

K3s 클러스터는 다음과 같은 방식으로 구성할 수 있다.

2.1. 단일 서버에 여러 에이전트 연결

하나의 서버(master)에서 컨트롤 플레인을 운영하고, 여러 개의 에이전트를 추가하여 클러스터를 확장하는 방법이다.

1) 서버 노드 설치

curl -sfL https://get.k3s.io | sh -s - server

설치 후, 클러스터의 상태를 확인할 수 있다.

kubectl get nodes

토큰을 확인하여 에이전트 노드에 연결할 수 있도록 한다.

sudo cat /var/lib/rancher/k3s/server/node-token

2) 에이전트 노드 추가

에이전트 노드에서 다음 명령어를 실행하여 클러스터에 추가한다.

curl -sfL https://get.k3s.io | K3S_URL="https://<서버 노드 IP>:6443" K3S_TOKEN="<토큰값>" sh -

2.2. 서버 다중 구성

여러 개의 서버를 구성하여 고가용성(HA) 클러스터를 운영할 수 있다.

1) 첫 번째 서버 노드 설치 (etcd 클러스터 초기화)

curl -sfL https://get.k3s.io | sh -s - server --cluster-init

토큰 값을 확인하여 이후 추가되는 서버 및 에이전트 노드가 클러스터에 연결될 수 있도록 한다.

sudo cat /var/lib/rancher/k3s/server/node-token

2) 추가 서버 노드 연결

추가 서버 노드를 클러스터에 포함하려면 다음 명령어를 실행한다.

curl -sfL https://get.k3s.io | K3S_URL="https://<첫 번째 서버 IP>:6443" K3S_TOKEN="<토큰값>" sh -s - server

3) 에이전트 노드 추가

위 방식과 동일하게 K3S_URLK3S_TOKEN을 이용하여 추가한다.

curl -sfL https://get.k3s.io | K3S_URL="https://<첫 번째 서버 IP>:6443" K3S_TOKEN="<토큰값>" sh - # agent is assumed because of K3S_URL

3. K3s 활용 방안

  • 온프레미스 프라이빗 클라우드: 내부 서비스 및 애플리케이션을 컨테이너화하여 관리 가능
  • IoT 및 엣지 컴퓨팅: 저사양 하드웨어에서도 쿠버네티스 운영 가능
  • CI/CD 파이프라인 구성: 가벼운 클러스터로 개발 및 테스트 환경 구축

4. 결론

K3s는 저사양 환경에서도 원활히 동작하는 경량 쿠버네티스로, 프라이빗 클라우드 구축 시 운영 부담을 줄이고 관리 효율성을 높일 수 있다. 특히 리소스가 제한적인 환경에서 컨테이너 오케스트레이션을 활용하려면 K3s가 강력한 대안이 될 수 있다.

반응형