쿠버네티스 설치·실습 환경 만들기 2026 — minikube·kind·도커 데스크톱 중 뭘 쓸까
쿠버네티스(Kubernetes)를 로컬에서 처음 공부할 때는 도커 데스크톱(Docker Desktop), minikube, kind 중 하나를 고르면 되는데, 맥 애플 실리콘(M 시리즈) 환경이라면 가볍게 시작하기 좋은 건 minikube, 빠르게 띄웠다 지우기 좋은 건 kind, 별도 설치 없이 GUI로 켜고 끄기 편한 건 도커 데스크톱입니다. 저는 12개 사이트를 버셀(Vercel)과 슈퍼베이스(Supabase)로 운영하면서 정작 쿠버네티스는 거의 안 쓰는데, 그래서 더 솔직하게 1인 개…
한 줄 요약: 쿠버네티스(Kubernetes)를 로컬에서 처음 공부할 때는 도커 데스크톱(Docker Desktop), minikube, kind 중 하나를 고르면 되는데, 맥 애플 실리콘(M 시리즈) 환경이라면 가볍게 시작하기 좋은 건 minikube, 빠르게 띄웠다 지우기 좋은 건 kind, 별도 설치 없이 GUI로 켜고 끄기 편한 건 도커 데스크톱입니다. 저는 12개 사이트를 버셀(Vercel)과 슈퍼베이스(Supabase)로 운영하면서 정작 쿠버네티스는 거의 안 쓰는데, 그래서 더 솔직하게 1인 개발자에게 K8s가 필요한지부터 짚고 로컬 학습 환경 설치를 한국어로 정리하겠습니다.
이 글이 필요한 사람
쿠버네티스라는 말은 자주 듣는데 도대체 로컬에서 어떻게 깔아 보는지 막막한 분
minikube·kind·도커 데스크톱 중 무엇으로 실습을 시작할지 못 정한 분
맥 애플 실리콘(M1·M2·M3 등)에서 호환 문제 없이 K8s를 돌리고 싶은 분
1인 개발자인데 굳이 쿠버네티스를 배워야 하는지 솔직한 판단 기준이 필요한 분
※ 아래 도구 이름·명령어·버전은 2026년 6월 기준이며, 쿠버네티스와 각 도구는 갱신이 잦습니다. 설치 직전 공식 페이지에서 최신 설치 방법과 지원 버전을 다시 확인하시길 권합니다.
1인 개발자가 정말 쿠버네티스를 배워야 할까
설치 방법부터 궁금하시겠지만, 솔직한 판단을 먼저 드리는 게 맞다고 봅니다. 결론부터 말하면, 혼자 사이트 몇 개를 운영하는 수준이라면 실무 운영에서 쿠버네티스가 꼭 필요하지는 않습니다. 저는 사이트 12개를 운영하지만 모두 버셀에 배포하고 데이터는 슈퍼베이스에 맡깁니다. 컨테이너를 직접 오케스트레이션할 일이 거의 없습니다. 작은 서비스 하나를 운영하려고 쿠버네티스를 도입하면, 얻는 것보다 관리해야 할 것이 더 많아지는 경우가 흔합니다.
그렇다면 누가 배워야 하는지 정리하면 다음과 같습니다.
상황
쿠버네티스 필요도
한 줄 판단
혼자 사이트 1~3개, 버셀·넷리파이 배포
낮음
플랫폼 배포로 충분
컨테이너 여러 개를 직접 운영하는 사이드 프로젝트
중간
도커 컴포즈로도 가능, 학습은 가치
채용 시장·이직 대비 이력서 키워드
중간
로컬 실습 경험은 분명 도움
마이크로서비스 다수, 팀 단위 운영
높음
실무에서 사실상 필수
제 솔직한 권유는 이렇습니다. 당장 운영에 필요해서가 아니라 학습과 커리어 차원에서 배우는 거라면 로컬 실습으로 충분합니다. 굳이 클라우드에 유료 클러스터를 띄워 돈을 쓸 필요는 없습니다. 한국 클라우드 환경에서 관리형 쿠버네티스를 띄우면 노드 비용이 원화로 매달 쌓이는데, 학습 단계에서는 그 비용이 아깝습니다. 로컬 도구로 같은 개념을 거의 다 익힐 수 있습니다.
쿠버네티스 설치·실습 환경 만들기 관련 참고 이미지
솔직 메모. 저는 쿠버네티스를 운영에 쓰지는 않지만, 개념은 익혀 뒀습니다. 클라우드 콘솔에서 관리형 클러스터를 잠깐 띄워 본 적이 있는데, 노드 인스턴스 요금이 시간당으로 붙어서 한 달 환산하면 1인 개발자에게는 부담이었습니다. 그래서 지금은 학습이나 실험은 전부 노트북 로컬에서 minikube로 처리합니다. 배우는 데 드는 비용은 0원으로 두는 게 맞다고 생각합니다.
도커 데스크톱·minikube·kind, 셋의 성격이 다르다
로컬 쿠버네티스 학습 도구는 크게 세 가지가 자주 쓰입니다. 이름은 비슷하게 들리지만 성격이 꽤 다릅니다. 핵심만 먼저 비교하면 다음과 같습니다.
도구
한 줄 성격
설치 방식
강점
약점
도커 데스크톱
이미 깔린 도커에 K8s를 켜는 방식
GUI 체크박스 한 번
설치 부담 0, 클릭으로 켜고 끔
버전·노드 구성 선택 폭 좁음
minikube
단일 노드 학습용 클러스터의 표준
CLI 명령으로 시작
드라이버·애드온 풍부, 자료 많음
리소스 소비가 다소 큼
kind
도커 컨테이너 안에 클러스터를 띄움
CLI 명령으로 시작
매우 가볍고 빠름, 멀티노드 쉬움
입문자 자료는 minikube보다 적음
한 줄로 추리면 이렇게 정리됩니다. 가장 손쉽게 시작하려면 도커 데스크톱의 쿠버네티스 켜기 옵션을 쓰면 되고, 학습 자료가 많고 무난한 표준을 원하면 minikube, 클러스터를 자주 만들었다 지우는 실험이나 CI 환경 흉내를 내고 싶으면 kind가 맞습니다. 세 도구 모두 같은 kubectl 명령으로 다루기 때문에, 한번 하나에 익숙해지면 다른 도구로 옮겨 가는 것도 어렵지 않습니다.
제 추천 순서는 이렇습니다. 도커를 이미 쓰고 있다면 도커 데스크톱 체크박스로 가장 먼저 켜 보고, 본격적으로 애드온과 드라이버를 만지며 공부할 거라면 minikube로 옮기고, 클러스터를 일회용으로 빠르게 다루는 단계가 되면 kind를 더하는 흐름입니다. 처음부터 세 개를 다 깔 필요는 없습니다.
맥 애플 실리콘에서 호환되는 도구는 무엇인가
한국 개발자 상당수가 맥북, 그중에서도 애플 실리콘 맥을 씁니다. 다행히 위 세 도구는 모두 애플 실리콘(arm64)을 정식 지원합니다. 다만 몇 가지 알아 둘 점이 있습니다.
컨테이너 이미지 아키텍처를 확인합니다. 애플 실리콘은 arm64라서, arm64 이미지가 없는 일부 옛 이미지는 에뮬레이션으로 느리게 돌거나 에러가 날 수 있습니다.
도커 데스크톱이 가장 무난합니다. 애플 실리콘용 도커 데스크톱이 잘 다듬어져 있어, 쿠버네티스 켜기 옵션도 arm64에서 안정적으로 동작합니다.
minikube는 docker 드라이버를 권합니다. 애플 실리콘에서는 별도 가상화 도구 없이 docker 드라이버로 돌리는 게 가장 단순합니다.
kind도 arm64 도커 위에서 그대로 동작합니다. 컨테이너 기반이라 별도 가상머신이 필요 없습니다.
제가 애플 실리콘 맥에서 겪은 흔한 함정은 이미지 아키텍처 문제였습니다. 어떤 예제 이미지를 받아 실행했더니 컨테이너가 자꾸 재시작되거나 느렸는데, 알고 보니 그 이미지가 arm64를 지원하지 않아 x86 에뮬레이션으로 돌고 있던 경우였습니다. 학습용 이미지를 고를 때 멀티 아키텍처를 지원하는 공식 이미지를 쓰면 이 문제는 대부분 피할 수 있습니다.
실측 메모. 저는 애플 실리콘 맥에서 minikube를 docker 드라이버로 돌립니다. 인텔 맥 시절에 쓰던 하이퍼바이저 드라이버를 그대로 쓰려다 호환 문제로 헤맨 적이 있어서, 지금은 도커 위에 올리는 방식으로 통일했습니다. 메모리는 minikube에 4GB 정도를 할당하면 학습용 파드 몇 개를 띄우기에 부족하지 않았습니다. 노트북 사양이 빠듯하다면 kind가 더 가벼워서 발열과 배터리 면에서 유리합니다.
먼저 깔아야 할 공통 도구, kubectl 설치
어떤 도구를 고르든 클러스터를 다루는 명령줄 도구 kubectl은 공통으로 필요합니다. 맥에서는 홈브루(Homebrew)로 설치하는 게 가장 간단합니다. 홈브루가 없다면 먼저 홈브루부터 설치한 뒤 진행하시면 됩니다.
쿠버네티스 설치·실습 환경 만들기 관련 참고 이미지
kubectl 설치 및 확인 (맥, Homebrew)
# kubectl 설치
brew install kubectl
# 설치 확인 (클라이언트 버전 출력)
kubectl version --client
# 현재 연결된 클러스터 컨텍스트 목록 보기
kubectl config get-contexts
설치가 끝나면 kubectl version --client 명령으로 버전이 출력되는지 확인합니다. 아직 클러스터를 띄우지 않았으니, kubectl get nodes 같은 명령은 연결할 클러스터가 없다고 에러가 날 수 있는데 정상입니다. 클러스터를 만들면 그 도구가 자동으로 kubectl이 바라볼 컨텍스트를 등록해 줍니다.
여기서 컨텍스트라는 개념을 한 번 짚고 가면 뒤가 편합니다. kubectl은 여러 클러스터를 다룰 수 있고, 지금 어떤 클러스터를 바라보는지를 컨텍스트로 구분합니다. 도커 데스크톱, minikube, kind를 함께 쓰면 컨텍스트가 여러 개 생기는데, kubectl config get-contexts로 목록을 보고 kubectl config use-context 명령으로 전환합니다. 이걸 모르면 minikube를 켜 놓고 도커 데스크톱 클러스터에 명령을 날리는 식의 혼선이 생깁니다.
minikube로 첫 클러스터를 띄우는 절차
가장 자료가 풍부하고 무난한 minikube부터 실제로 띄워 보겠습니다. 전제는 도커 데스크톱(또는 도커 엔진)이 깔려 있고 실행 중이라는 점입니다. minikube를 docker 드라이버로 돌릴 것이기 때문입니다.
minikube 설치와 클러스터 시작 (맥, docker 드라이버)
# minikube 설치
brew install minikube
# docker 드라이버로 단일 노드 클러스터 시작
minikube start --driver=docker
# 노드가 Ready 상태인지 확인
kubectl get nodes
# 클러스터 상태 요약
minikube status
minikube start가 끝나면 단일 노드 클러스터가 생기고, kubectl 컨텍스트도 자동으로 minikube로 잡힙니다. kubectl get nodes를 쳤을 때 노드 하나가 Ready로 나오면 성공입니다. 여기서 간단한 애플리케이션을 하나 띄워 보면 학습 효과가 큽니다.
쿠버네티스 설치·실습 환경 만들기 관련 참고 이미지
minikube에서 예제 앱 배포·노출·삭제
# 예제 디플로이먼트 생성
kubectl create deployment hello-web --image=kicbase/echo-server:1.0
# 서비스로 노출 (NodePort)
kubectl expose deployment hello-web --type=NodePort --port=8080
# minikube가 접속 URL을 열어 줌
minikube service hello-web
# 실습이 끝나면 정리
kubectl delete service hello-web
kubectl delete deployment hello-web
# 클러스터를 멈추거나 완전히 삭제
minikube stop
minikube delete
여기까지 따라 하면 디플로이먼트로 파드를 만들고, 서비스로 외부에 노출하고, minikube service로 브라우저에서 확인하는 흐름을 한 번에 경험합니다. 실습이 끝나면 minikube stop으로 멈추거나 minikube delete로 깔끔히 지웁니다. 학습용은 자주 지웠다 다시 만드는 게 오히려 좋습니다. 망가진 상태를 붙들고 고치는 것보다, 지우고 새로 띄우는 게 빠르고 개념도 더 잘 잡힙니다.
kind와 도커 데스크톱은 어떻게 켜는가
minikube에 익숙해졌다면 kind도 한번 써 보시길 권합니다. kind는 클러스터 전체를 도커 컨테이너 안에 띄우는 방식이라, 만들고 지우는 속도가 매우 빠릅니다. 멀티노드 클러스터를 흉내 내거나, 깃허브 액션(GitHub Actions) 같은 자동화 파이프라인에서 일회용 클러스터를 띄울 때 특히 잘 맞습니다.
kind 설치와 클러스터 생성·삭제 (맥)
# kind 설치
brew install kind
# 기본 단일 노드 클러스터 생성
kind create cluster --name study
# kubectl 컨텍스트가 kind-study 로 잡혔는지 확인
kubectl config current-context
kubectl get nodes
# 클러스터 삭제
kind delete cluster --name study
도커 데스크톱은 설치가 가장 단순합니다. 별도 명령 없이, 도커 데스크톱 설정(Settings) 화면의 Kubernetes 탭에서 Enable Kubernetes 항목을 체크하고 적용하면 됩니다. 잠시 기다리면 단일 노드 클러스터가 켜지고, kubectl 컨텍스트가 docker-desktop으로 추가됩니다. GUI로 켜고 끄는 게 익숙한 분에게는 이 방식이 심리적 진입장벽이 가장 낮습니다.
다만 도커 데스크톱 방식은 쿠버네티스 버전이나 노드 구성을 세밀하게 고르기 어렵다는 한계가 있습니다. 특정 버전으로 실험하거나 여러 노드를 구성해 보고 싶다면 minikube나 kind가 더 유연합니다. 정리하면, 처음 한 번 켜 보는 용도로는 도커 데스크톱이 가장 쉽고, 본격적인 실습과 버전 실험은 minikube나 kind가 낫습니다.
쿠버네티스 설치·실습 환경 만들기 관련 참고 이미지
함정 메모. 세 도구를 동시에 켜 두면 메모리를 꽤 잡아먹습니다. 도커 데스크톱 쿠버네티스를 켠 채로 minikube까지 start 하면, 노트북 메모리가 부족해 다른 작업이 느려지는 일이 흔합니다. 학습할 때는 한 번에 한 도구만 켜고, 끝나면 minikube stop이나 kind delete로 내려 두는 습관을 들이는 게 좋습니다. 컨텍스트도 헷갈리니, 지금 어떤 클러스터를 바라보는지 kubectl config current-context로 자주 확인하시길 권합니다.
상황별로 어떤 도구를 고르면 되는가
지금까지 셋을 모두 깔아 봤다면, 이제 본인 상황에 맞게 주력 도구를 정하면 됩니다. 제가 권하는 선택 기준을 정리하면 다음과 같습니다.
나의 상황
추천 도구
이유
쿠버네티스 처음, 일단 화면으로 켜 보고 싶다
도커 데스크톱
체크박스 한 번, 설치 부담 없음
책·강의를 따라 차근차근 공부한다
minikube
자료·애드온이 가장 풍부
클러스터를 자주 만들고 지운다
kind
생성·삭제가 빠르고 가벼움
멀티노드·CI 파이프라인을 흉내 낸다
kind
설정 파일로 노드 구성 쉬움
노트북 사양이 빠듯하다
kind
리소스 소비가 가장 적음
제 개인적인 흐름을 공유하면, 개념을 처음 잡을 때는 자료가 많은 minikube로 시작했고, 클러스터를 일회용으로 다루는 단계가 되면서 kind를 더 자주 씁니다. 도커 데스크톱 쿠버네티스는 정말 빠르게 한 번 확인할 때만 켭니다. 세 도구가 모두 같은 kubectl 명령을 쓰기 때문에, 어느 것으로 배워도 다른 환경으로 옮겨 가는 비용은 거의 없습니다. 그러니 처음에는 도구 선택에 너무 오래 고민하지 말고, 가장 쉬운 것으로 일단 손을 대 보시길 권합니다.
로컬 실습 다음에 무엇을 더 익히면 좋은가
로컬에서 파드와 서비스를 띄워 봤다면, 그다음으로 익혀 두면 좋은 개념을 순서대로 정리하겠습니다. 한꺼번에 다 하려 하지 말고 하나씩 손으로 만져 보는 게 핵심입니다.
디플로이먼트와 레플리카 수 조절: kubectl scale로 파드 개수를 늘렸다 줄여 보며 자가 복구 동작을 관찰합니다.
서비스 종류 비교: ClusterIP·NodePort·LoadBalancer가 어떻게 다른지 직접 노출해 봅니다.
설정과 비밀값 분리: ConfigMap과 시크릿(Secret)으로 환경 변수를 주입해 봅니다.
선언형 매니페스트: 명령어 대신 YAML 파일로 같은 리소스를 만들어, kubectl apply -f 흐름에 익숙해집니다.
네임스페이스: 여러 실습을 네임스페이스로 격리해 정리하는 습관을 들입니다.
여기까지 로컬에서 충분히 다뤄 보면, 나중에 실무나 면접에서 쿠버네티스 이야기가 나와도 개념이 막연하지 않습니다. 다만 다시 강조하면, 1인 개발자가 실제 운영까지 쿠버네티스를 도입할지는 별개의 문제입니다. 저처럼 버셀과 슈퍼베이스로 운영이 충분한 규모라면, 쿠버네티스는 운영 도구라기보다 학습과 커리어용 지식으로 두는 선택도 합리적입니다. 도구를 배우는 것과, 그 도구를 실제 서비스에 도입하는 것은 다른 결정이라는 점만 분명히 해 두시면 됩니다.
도커를 이미 쓰고 있다면 도커 데스크톱 설정의 Kubernetes 켜기 옵션이 가장 빠릅니다. 별도 설치 없이 체크박스 한 번으로 단일 노드 클러스터가 켜집니다. 다만 본격적으로 자료를 보며 공부할 거라면 자료가 풍부한 minikube를 권합니다. 셋 다 같은 kubectl 명령을 쓰므로 어느 것으로 시작해도 나중에 옮겨 가기 쉽습니다.
맥 애플 실리콘(M 시리즈)에서도 문제없이 돌아가나요?
세 도구 모두 애플 실리콘 arm64를 정식 지원합니다. minikube는 docker 드라이버로 돌리는 게 가장 단순하고, kind는 도커 컨테이너 기반이라 별도 가상머신 없이 동작합니다. 주의할 점은 컨테이너 이미지 아키텍처입니다. arm64를 지원하지 않는 옛 이미지를 쓰면 에뮬레이션으로 느려질 수 있으니, 멀티 아키텍처를 지원하는 공식 이미지를 고르시길 권합니다.
1인 개발자인데 쿠버네티스를 꼭 배워야 하나요?
운영 측면에서는 꼭 필요하지 않은 경우가 많습니다. 저는 12개 사이트를 버셀과 슈퍼베이스로 운영하지만 쿠버네티스를 실무에 쓰지는 않습니다. 다만 학습과 커리어, 면접 대비 차원에서는 로컬 실습 경험이 분명히 도움이 됩니다. 도구를 배우는 것과 실제 서비스에 도입하는 것은 별개의 결정이니, 우선 로컬에서 개념만 익혀 두는 선택이 합리적입니다.
로컬 학습에 비용이 드나요?
들지 않습니다. minikube, kind, kubectl은 모두 무료이고, 도커 데스크톱도 개인·소규모 사용은 무료 범위가 있습니다. 클라우드에 관리형 쿠버네티스 클러스터를 띄우면 노드 인스턴스 요금이 시간 단위로 붙어 원화로 매달 쌓이지만, 학습 단계에서는 그럴 필요가 없습니다. 노트북 로컬에서 같은 개념을 거의 다 익힐 수 있어 비용은 0원으로 둘 수 있습니다.
세 도구를 동시에 켜 두면 안 되나요?
동작은 하지만 권하지 않습니다. 도커 데스크톱 쿠버네티스와 minikube를 동시에 켜면 메모리를 많이 잡아먹어 다른 작업이 느려집니다. 학습할 때는 한 번에 한 도구만 켜고, 끝나면 minikube stop이나 kind delete로 내려 두시길 권합니다. 또 컨텍스트가 여러 개 생기므로, kubectl config current-context로 지금 어떤 클러스터를 바라보는지 자주 확인하면 혼선을 줄일 수 있습니다.
실습이 꼬였을 때는 어떻게 정리하나요?
학습용 클러스터는 고치기보다 지우고 새로 만드는 게 빠릅니다. minikube는 minikube delete, kind는 kind delete cluster로 클러스터를 통째로 지운 뒤 다시 생성하면 깨끗한 상태로 시작됩니다. 망가진 리소스를 붙들고 디버깅하는 것보다, 새 클러스터에서 처음부터 다시 띄워 보는 편이 개념도 더 잘 잡히고 시간도 절약됩니다. 자주 지웠다 만드는 것을 부담스러워하지 않으셔도 됩니다.