[k8s] 쿠버네티스 설치 환경 고르는 방법

2025. 3. 18. 23:50·BEYOND SW [4] DevOps

🐳 쿠버네티스 설치 환경, 어떻게 고를까?

쿠버네티스(Kubernetes)는 컨테이너 애플리케이션을 관리하고 배포하기 위해 꼭 필요한 시스템이다. 그런데 이걸 어떻게 설치하고 운영할지는 생각보다 선택지가 많다. 목적과 상황에 따라 설치 방법이 달라지니, 간단하게 정리해본다.


개발용? 운영용?

일단 쿠버네티스를 어디에 쓸 건지부터 생각해야 한다.

✅ 개발·학습용

  • 목표: 쿠버네티스가 뭔지 배우고, 어떻게 돌아가는지 기본적인 개념을 익히는 게 목적일 때
  • 특징: 간단하게 설치하고, 빠르게 테스트해보는 게 중요
  • 환경: 로컬 PC에서 가볍게 돌릴 수 있음

✅ 서비스 테스트나 운영용

  • 목표: 실제 서비스 환경에서 쿠버네티스를 써야 할 때
  • 특징: 안정성, 확장성, 보안 다 챙겨야 함
  • 환경: 물리 서버든 클라우드든, 제대로 된 클러스터 구성 필요

개발·학습용 쿠버네티스 설치 방법

1) Minikube

가장 기본적인 선택지다.
혼자서도 로컬에서 바로 쿠버네티스를 돌려볼 수 있다.

  • 어디서? 내 컴퓨터 (Mac/Windows/Linux 다 됨)
  • 어떻게? 가상머신이나 Docker 위에서 단일 노드 클러스터를 실행
  • 장점
    • 설치 쉽고, 가볍게 테스트 가능
    • 쿠버네티스 기본 개념 익히기 딱 좋다
  • 단점
    • 단일 노드라서 실제 서비스 테스트에는 적합하지 않음
  • 📚 Minikube 공식 문서

2) Docker Desktop (내장 쿠버네티스 기능)

Docker Desktop을 깔면 쿠버네티스를 옵션으로 켤 수 있다.
특히 Windows나 Mac에서 개발할 때 편하게 쓸 수 있다.

  • 장점
    • 따로 클러스터 설치할 필요 없음
    • 로컬에서 바로 쿠버네티스 환경 테스트 가능
  • 단점
    • 리소스가 제한적이어서 대규모 테스트에는 무리
  • 📚 Docker Desktop Kubernetes

✔️ 요약하면, 이 둘은 혼자서 쿠버네티스를 익히고 싶다!라는 목적에 제일 잘 맞는다.
다만, 운영 환경에서는 절대 부족하다.


테스트나 운영 환경에서 쓰는 쿠버네티스

운영 환경에선 이야기가 완전 달라진다. 클러스터 확장, 노드 추가, 장애 복구까지 생각해야 하니까 말 그대로 ‘제대로’ 구축하는 게 중요하다.

1) Kubeadm

쿠버네티스를 설치하고 초기 설정을 할 때 가장 많이 쓰이는 공식 도구다.

  • 어디서? 온프레미스 서버든, 클라우드든 내가 직접 인프라를 준비한 경우
  • 특징
    • 간단하게 클러스터 생성 가능
    • 설치 이후 관리(업데이트, 모니터링 등)는 직접 해야 한다
  • 장점
    • 커스터마이징 자유롭다
    • 클러스터 내부 구조를 잘 이해할 수 있다
  • 📚 Kubeadm 공식 문서

2) Kuberspray

Ansible을 기반으로 한 자동화 툴이다.
클러스터 규모가 크거나 여러 서버에 동시에 설치할 땐 이게 편하다.

  • 특징
    • Ansible 플레이북으로 구성
    • 고가용성(HA) 클러스터도 손쉽게 구축 가능
  • 장점
    • 자동화가 잘 되어 있어서 일일이 명령어 입력할 필요 없다
    • 클라우드, 온프레미스 가리지 않고 쓸 수 있다
  • 📚 Kuberspray GitHub

✔️ kubeadm과 kubespray 둘 다 내가 직접 서버를 관리하는 환경에서 많이 쓰인다.


클라우드에서 쓰는 매니지드 쿠버네티스 서비스

직접 서버 깔고 관리하는 게 귀찮거나, 시간이 없으면 클라우드 매니지드 서비스를 쓰는 것도 방법이다.

✅ AWS EKS (Elastic Kubernetes Service)

AWS가 제공하는 쿠버네티스 클러스터다.

  • 특징
    • AWS가 제어 플레인 관리 다 해줌
    • 노드만 관리하면 되니까 편하다
  • 장점
    • IAM, VPC 등 AWS 기능과 자연스럽게 연동
    • 안정적이고 확장성 좋다
  • 📚 AWS EKS 공식 문서

✅ GKE (Google Kubernetes Engine)

구글이 제공하는 서비스라서 쿠버네티스랑 궁합이 좋다.

  • 특징
    • 구글이 클러스터 전체 관리
    • GCP와 연동성도 뛰어남
  • 장점
    • 자동 업그레이드, 자동 복구 등 기본 제공
    • Anthos 같은 하이브리드 클라우드 플랫폼과 연동 가능
  • 📚 GKE 공식 문서

✔️ 이런 서비스들은 운영 복잡도 거의 없고, 바로 프로덕션에 투입 가능하다.
서버 관리하고 싶지 않은 사람들한테 강추된다.


쿠버네티스 클러스터 기본 구조는?

운영 환경에서는 이런 구성을 기본으로 가져간다.

구성 요소 역할
마스터 노드 클러스터 제어(컨트롤 플레인), 스케줄링, 상태 관리
워커 노드 실제 애플리케이션 컨테이너가 돌아가는 곳
노드 추가 필요할 때마다 자유롭게 스케일 아웃(확장) 가능
  • 최소 1개의 마스터와 2개 이상의 워커 노드가 기본
  • 각 노드는 물리 서버일 수도, 가상 서버일 수도 있다
  • 네트워크는 CNI 플러그인을 통해 관리한다
  • 📚 Kubernetes 아키텍처

정리하자면!

쿠버네티스를 설치하고 운영하는 방법은 다양하다.
일단 작은 거부터 시작하고, 점점 확장하는 것이 바람직한 것으로 보인다.

 

목적에 따라... ⤵️

  • 로컬에서 배우고 싶다면 Minikube, Docker Desktop
  • 서버에 직접 구축하고 싶다면 Kubeadm, Kubespray
  • 클라우드 서비스로 바로 가고 싶다면 EKS/GKE

🔗링크

  • Kubernetes 공식 문서
  • Minikube 공식
  • Kuberspray GitHub
  • AWS EKS
  • Google GKE

'BEYOND SW [4] DevOps' 카테고리의 다른 글

[k8s] 실습 ② 클러스터 구성 master server, woker server 준비하기  (0) 2025.03.19
[k8s] 쿠버네티스의 기본 구성 요소 / 쿠버네티스 클러스터 구조  (0) 2025.03.19
[아카이브] Windows11에서 도커 테스크탑 실행 무한대기 문제 발생 시 필수 의례사항  (0) 2025.03.18
[k8s] 쿠버네티스(Kubernetes)란 무엇인가?  (2) 2025.03.14
[k8s] 실습 ① ubuntu서버에 containerd 준비하기  (3) 2025.03.14
'BEYOND SW [4] DevOps' 카테고리의 다른 글
  • [k8s] 실습 ② 클러스터 구성 master server, woker server 준비하기
  • [k8s] 쿠버네티스의 기본 구성 요소 / 쿠버네티스 클러스터 구조
  • [아카이브] Windows11에서 도커 테스크탑 실행 무한대기 문제 발생 시 필수 의례사항
  • [k8s] 쿠버네티스(Kubernetes)란 무엇인가?
알파카1234
알파카1234
기대와는 다른 현실에 실망하고, 대신 생각지도 않던 어떤 것을 얻고, 그로 인해 인생의 행로가 미묘하게 달라지고, 한참의 세월을 지나 오래전에 겪은 멀미의 기억과 파장을 떠올리고, 그러다 문득 자신이 어떤 사람인지 조금 더 알게 되는 것. 생각해보면 나에게 여행은 언제나 그런 것이었다. - 김영하 『여행의 이유』 p. 51.
  • 알파카1234
    알파카 로그
    알파카1234
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (97)
      • BEYOND SW [1] 기반기술 (20)
        • 강의 메모 (2)
        • 리눅스 & 네트워크 (8)
        • SQL & DB (6)
        • 소프트웨어공학 아키텍처 (4)
      • BEYOND SW [2] 프론트엔드 (0)
        • HTML CSS (0)
      • BEYOND SW [3] 백엔드 (28)
      • BEYOND SW [4] DevOps (14)
      • BEYOND SW [5] 최종프로젝트 (4)
      • WEB front-end 개념정리 (4)
        • 웹 동작 원리와 개념 (0)
        • 웹퍼블리싱을 위한 HTML + CSS (2)
        • 웹퍼블리싱을 위한 Javascript (2)
      • 딥러닝 AI 공부 (4)
      • 2021-가을학기 (16)
        • 프로그래밍개론 (8)
        • 심리통계분석 I (8)
        • 데이터베이스설계와질의 (0)
      • 2024-봄학기 (0)
        • 프로그래밍언어론 (0)
        • 현대사회와심리학 (심리학개론) (0)
        • 현대사회와언어심리학 (언어심리학개론) (0)
      • 잡담 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    명령프롬프트 django 명령어
    도커 이미지 push
    django db
    db.sqlite3
    wsl update failed
    (wsl update 오류 해결 방법)
    작문
    django rest framework 객체 저장되는 곳
    django 백엔드
    도커 이미지 pull
    도커 허브에 이미지 업로드
    명령프롬프트 장고 명령어
    django 모델 객체가 저장되는 곳
    Django
    리눅스 도커 설치
    docker desktop 무한대기
    파이썬
    파이썬 접근제어자
    ubuntu docker 설치 명령어
    django rest framework 모델
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
알파카1234
[k8s] 쿠버네티스 설치 환경 고르는 방법
상단으로

티스토리툴바