Kubernetes 설치하기: 내 손으로 클러스터 만들기
들어가며
이제 우리는 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 명령어를 입력해보는 시간입니다. 설치를 직접 해보며 느끼는 감각은 책으로 배운 것과는 확연히 다르니, 꼭 직접 따라해보시길 권장합니다.