
쿠버네티스 클러스터를 구축하는 방법은 크게 세 가지로 나눌 수 있다.
Local Kubernetes: 개인의 물리 머신 1대에 구축해서 사용한다. 학습용으로 사용되나 기능에 한계가 있다.
Kubernetes 구축 도구 이용: On-Premise(사내 구축형)나 Cloud 환경에 클러스터를 직접 구축해서 사용한다. 충분한 자원이 필요하며, kubeadm과 같은 도구를 활용한다.
관리형 Kubernetes (Managed Kubernetes): Public Cloud(AWS, GCP, Azure 등)에서 제공하는 관리형 서비스를 사용한다. 실무에서 이 방식을 사용할 가능성이 높다.
로컬 환경에서 학습 및 테스트 목적으로 쿠버네티스를 구축하는 방법이다.
Docker Desktop을 다운로드하여 설치한다.
Docker 실행 후 설정(톱니바퀴) - Kubernetes 메뉴로 이동한다.
Enable Kubernetes 항목을 체크한다.
클러스터 세팅 - Kubeadm or kind 선택
Apply & Restart 를 누르면 설치가 완료된다.
Kubernetes 공부할때 간단하게 사용하기에 좋다

Minikube는 물리 머신에 로컬 쿠버네티스를 쉽게 구축하고 실행할 수 있는 도구이며, 쿠버네티스의 SIG(특별 관심 그룹)에서 만들었다.
실행되는 쿠버네티스는 기본적으로 단일 노드로 구성되어, 여러 노드가 필요한 기능은 사용할 수 없다. 사용 시 Docker, VirtualBox 또는 베어메탈과 같은 하이퍼바이저가 필요하다.
주요 명령어
minikube start : 단일 노드 클러스터 생성
minikube start [--node 워커노드개수] [-p 클러스터이름] : 여러 워커 노드 클러스터 생성:
minikube node add : 노드 추가kubectl get nodes : 노드 확인
minikube stop : 클러스터 중지
minikube delete : 클러스터 삭제
K3s 는 Rancher라는 회사에서 만든 경량화된 쿠버네티스 배포판이다. k3s는 쿠버네티스와 완전히 호환되며 간편한 설치와 절반의 메모리, 모든 걸 100MB 미만의 바이너리로 제공합니다.
Kubernetes IN Docker 의 줄임말로 도커 컨테이너를 이용해 손쉽게 Kubernetes Cluster를 구축한다.
다중 노드 구성을 손쉽게 할 수 있어 유용하다.
설치
주요 명령어
kind create cluster :클러스터 생성
kind delete cluster : 클러스터 삭제
kubectl config use-context kind-클러스터이름 : 여러 개의 클러스터 생성한 경우 클러스터 전환
kind create cluster [--config 설정파일경로] [--name 클러스터이름] : 설정 파일을 이용한 클러스터 생성
Kind 실습 : 여러 개의 Worker를 가진 클러스터 생성
yaml로 작성)# kind.yaml 파일
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
kind create cluster --config kind.yaml --name kindcluster
kubeadm , kops , KRIB , kubespray 등이 있으며, 이 중 kubeadm이 가장 널리 알려진 구성형 kubernetes 도구이다.| 구분 | KRIB | kops | kubespray | kubeadm |
|---|---|---|---|---|
| 정보량 | 적음 | 많음 | 많음 | 매우많음 |
| 세부 설정 변경 | 가능함 | 가능함 | 제한적으로 가능함 | 다양함 |
| 사전 요구 조건 | 적음 | 적음 | 적음 | 매우 적음 |
| 온프레미스 지원 | 매우 좋음 | 안 됨 | 좋음 | 매우 좋음 |
| 클라우드 지원 | 안 됨 | 매우 좋음 | 좋음 | 좋음 |
| 학습 곡선 | 매우 어려움 | 어려움 | 쉬움 | 어려움 |
| 자동화 기능 | 제공됨 | 제공됨 | 쉽게 제공됨 | 제한적으로 제공됨 |
기업에서 Kubernetes를 사용하는 비중이 높아지면서 Public Cloud 서비스 제공업체들이 Kubernetes를 PaaS(Platform as a Service) 형식의 서비스로 출시했다.
사용자는 컨트롤 플레인(마스터 노드)을 직접 관리할 필요 없이 워커 노드와 애플리케이션에만 집중할 수 있어 운영 부담이 크게 줄어든다.