개발 창고/Server

Kubernetes 설치하기: 내 손으로 클러스터 만들기

로이제로 2025. 7. 16. 22:00
반응형

들어가며

이제 우리는 Kubernetes의 개념, 구조, 장점을 어느 정도 이해했습니다. 그렇다면 다음 단계는?

바로 직접 설치해서 만져보는 것입니다.

이번 시간에는 로컬 환경부터 클라우드까지 다양한 설치 방식 중에서 초보자에게 추천할 만한 방법들을 중심으로 설명드릴 예정입니다.

“어떤 설치 방법을 선택해야 할까?” “내 컴퓨터에서도 해볼 수 있을까?”
그런 질문을 가지고 계셨다면, 이번 글을 통해 해답을 얻으실 수 있습니다.


1. 설치 전에 알아둘 것

쿠버네티스 설치는 왜 어려울까?

Kubernetes는 단순한 소프트웨어 하나가 아니라,
수많은 컴포넌트(API 서버, 컨트롤러, etcd, kubelet 등)가 유기적으로 연결된 분산 시스템입니다.

따라서 설치 시 다음을 고려해야 합니다:

  • 컨트롤 플레인 vs 워커 노드 분리
  • 네트워크 플러그인 설치
  • 도커 또는 containerd 등 런타임 선택
  • 인증서, 포트, 보안 설정

하지만 걱정 마세요. 초보자에게 적합한 쉬운 설치 도구들이 존재합니다.


2. 설치 방법 종류 비교

방법 특징 장점 단점
Minikube 로컬 가상머신 기반 단일 노드 클러스터 매우 쉬움, 로컬에서 학습용 적합 실서비스에는 부적합
k3s 경량화된 쿠버네티스 빠르고 가벼움, IoT/개발용 일부 기능 제한
kubeadm 표준 설치 도구 실제 운영환경과 유사 설정이 복잡할 수 있음
Managed Kubernetes (EKS, GKE, AKS) 클라우드 제공 Kubernetes 서비스 자동화, 손쉬운 운영 비용, 클라우드 지식 필요

3. Minikube로 가장 쉽게 시작하기

Minikube란?

Minikube는 개발자나 입문자가 로컬 PC에서 Kubernetes를 학습할 수 있게 도와주는 툴입니다.

  • 가상머신 또는 Docker 환경에서 실행 가능
  • 단일 노드 클러스터 제공
  • 설치가 매우 간단함

설치 환경 준비

  • 운영체제: Windows, macOS, Linux 모두 가능

  • 필수 사전 설치:

    • VirtualBox 또는 Docker
    • kubectl (Kubernetes CLI)

Minikube 설치 (예: macOS 기준)

brew install minikube

혹은 수동 설치:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
chmod +x minikube-darwin-amd64
sudo mv minikube-darwin-amd64 /usr/local/bin/minikube

클러스터 시작하기

minikube start

이 명령 하나로:

  • 가상 머신 생성
  • Kubernetes 클러스터 초기화
  • 기본 애드온 설치 (DNS, Dashboard 등)

상태 확인

kubectl get nodes

결과:

NAME       STATUS   ROLES           AGE   VERSION
minikube   Ready    control-plane   1m    v1.29.0

대시보드 실행 (GUI)

minikube dashboard

브라우저에서 Kubernetes 리소스를 시각적으로 확인 가능


4. kubeadm으로 실제 환경에 가깝게 설치하기

kubeadm이란?

쿠버네티스 공식 설치 도구입니다. 실제 운영 환경과 유사한 방식으로 클러스터를 구성할 수 있습니다.


설치 환경 준비

  • VM 또는 서버 2대 이상 (1대는 Control Plane, 나머지는 Worker)

  • OS: Ubuntu 22.04 추천

  • 사전 설치:

    • containerd
    • kubeadm, kubelet, kubectl

주요 설치 절차 요약

1) 서버 초기 설정

sudo apt update && sudo apt install -y apt-transport-https curl

2) containerd 설치

sudo apt install -y containerd
sudo systemctl enable containerd

3) Kubernetes 도구 설치

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

그리고 /etc/apt/sources.list.d/kubernetes.list에 저장소 추가 후:

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

4) Control Plane 초기화

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

5) 일반 사용자로 kubectl 사용

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

6) 네트워크 플러그인 설치 (예: flannel)

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

7) 워커 노드 조인

Control Plane 출력에서 kubeadm join 명령 복사하여 워커 노드에서 실행


5. 설치 후 확인할 내용

  • kubectl get nodes: 모든 노드가 Ready 상태인지 확인
  • kubectl get pods -A: 모든 시스템 Pod가 Running인지 확인
  • Dashboard 설치 여부
  • DNS 동작 확인 (CoreDNS)

6. 클라우드에서 Kubernetes 시작하기

만약 AWS, GCP, Azure와 같은 클라우드를 이미 사용하고 있다면, 아래 서비스를 고려해보세요.

클라우드 Kubernetes 서비스 특징
AWS EKS (Elastic Kubernetes Service) 관리형, IAM 연동
GCP GKE (Google Kubernetes Engine) 빠른 배포, GCP 서비스 연동
Azure AKS (Azure Kubernetes Service) Active Directory, DevOps 도구 연동

이들 서비스는 설치 복잡성을 줄이고, 운영을 클라우드에 맡길 수 있다는 장점이 있습니다.


7. 도구 추천

도구 용도
Lens Kubernetes 클러스터 GUI 관리 도구
k9s 터미널 기반 클러스터 탐색 도구
Okteto 로컬 개발환경과 Kubernetes 연동
Kind Docker 기반 Kubernetes 테스트 환경 생성

마무리

이번 시간에는 다양한 Kubernetes 설치 방법을 살펴보고, 초보자에게 적합한 Minikube부터 실무용 kubeadm까지 단계별로 정리해 보았습니다.

이제 진짜 클러스터를 구축해보고, kubectl 명령어를 입력해보는 시간입니다. 설치를 직접 해보며 느끼는 감각은 책으로 배운 것과는 확연히 다르니, 꼭 직접 따라해보시길 권장합니다.

반응형