[쿠버네티스] - Minikube

chancehee·2023년 9월 9일
0

쿠버네티스

목록 보기
2/17
post-thumbnail
post-custom-banner

1. Minikube

공식 문서에 따르면

minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes.
All you need is Docker (or similarly compatible) container or a Virtual Machine environment, and Kubernetes is a single command away: minikube start

즉, 가벼운 쿠버네티스 구현체이며 로컬 머신에 VM을 만들고 하나의 노드로 구성된 간단한 클러스터를 생성하는 것이 특징이다.
Minikube를 사용하면 로컬에서 간단하게 쿠버네티스 클러스터를 구현할 수 있다.
Minikube는 리눅스, 맥, 그리고 윈도우 시스템에서 구동이 가능하다.

필요 사양은 아래와 같다고 한다.

  • 2 CPUs or more
  • 2GB of free memory
  • 20GB of free disk space
  • Internet connection
  • Container or virtual machine manager, such as: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation

2. Minikube 사용 목적

우선, 쿠버네티스 클러스터를 알고 넘어가야한다.
쿠버네티스는 컴퓨터들을 연결하여 단일 형상으로 동작하도록 컴퓨팅 클러스터를 구성하고 높은 가용성을 제공하도록 조율한다.
쿠버네티스는 클러스터는 컨테이너화된 애플리케이션을 효율적으로 배포, 관리 및 확장하기 위한 컨테이너 오케스트레이션 시스템이다.컨테이너는 애플리케이션과 해당 실행 환경을 격리된 형태로 패키징하는 기술이며, 쿠버네티스는 이러한 컨테이너화된 애플리케이션을 자동화된 방식으로 조정하고 운영하는 데 도움을 준다.

쿠버네티스 클러스터는 여러 대의 컴퓨터 노드(물리적 또는 가상)로 구성된다.
이 노드들은 애플리케이션 컨테이너가 실행되는 곳으로, 클러스터 내의 노드는 마스터 노드와 워커 노드로 분류된다.

  • 마스터 노드
    • 클러스터의 제어 플레인을 담당한다. 애플리케이션 배포, 스케줄링, 확장, 감시 등의 관리 작업을 수행한다.
    • 마스터 노드에는 API 서버, 스케줄러, 컨트롤러 매니저 등의 구성 요소가 포함된다.
  • 워커 노드
    • 애플리케이션 컨테이너가 실행되는 곳으로, 실제로 애플리케이션 코드와 데이터를 호스팅한다.
    • 워커 노드에는 컨테이너 런타임, 네트워크 설정, 스토리지 등의 구성 요소가 포함된다.

쿠버네티스는 사용자가 정의한 상태에 따라 애플리케이션을 유지하고 관리한다.
이를 위해 사용자는 YAML 형식의 설정 파일을 통해 애플리케이션의 디플로이먼트, 서비스, 볼륨 등을 정의한다. 쿠버네티스는 이러한 설정을 기반으로 자동으로 애플리케이션 컨테이너를 배치하고 필요에 따라 스케일링하며, 장애 복구와 로드 밸런싱 같은 작업도 자동으로 처리한다.

본론으로 돌아와서 왜 Minikube를 사용할까?
우선, 목적은 쿠버네티스를 처음 입문하고 쿠버네티스 환경을 설치(물론 설치도 중요하지만)하는 것 보다 로컬 환경에서 손쉽게 쿠버네티스 명령어들을 실습하기 위해서 사용한다.
Minikube는 가벼운 쿠버네티스 구현체이므로 로컬 환경에서 학습용으로 사용하기 적합하고, Minikube CLI는 클러스터에 대해 시작, 중지, 상태 조회 및 삭제 등의 기본적인 부트 스트래핑 기능을 제공하기 때문이다.

3. Minikube 설치

실습 환경 : MacOS(m1)

# homebrew 설치 필요
brew install minikube

# 버전 확인
minikube version

# Docker Desktop 설치 필요 
minikube start --driver=docker 

# 상태 확인
minikube status

# 정지
minikube stop

# 삭제
minikube delete

# ssh 접속
minikube ssh

# ip 확인
minikube ip

출처
https://minikube.sigs.k8s.io/docs/start/
https://subicura.com/k8s/guide/#%E1%84%80%E1%85%A1%E1%84%8B%E1%85%B5%E1%84%83%E1%85%B3

post-custom-banner

0개의 댓글