
쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈 소스 기반이다. 원래 구글에 의해 설계되었고 현재 리눅스 재단에 의해 관리되고 있다. 목적은 여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위한 플랫폼을 제공하기 위함이다. 도커를 포함하여 일련의 컨테이너 도구들과 함께 동작한다.
컨테이너는 VM과 유사하지만 격리 속성을 완화하여 애플리케이션 간에 운영체제(OS)를 공유한다. 그러므로 컨테이너는 가볍다고 여겨진다. VM과 마찬가지로 컨테이너에는 자체 파일 시스템, CPU 점유율, 메모리, 프로세스 공간 등이 있다. 기본 인프라와의 종속성을 끊었기 때문에, 클라우드나 OS 배포본에 모두 이식할 수 있다.
쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공한다. 애플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공한다. 예를 들어, 쿠버네티스는 시스템의 카나리아 배포를 쉽게 관리할 수 있다.
본인의 컴퓨터 리소스가 부족하기 때문에 미니쿠베(Minikube)로 설치하려 한다.
미니쿠베는 로컬 환경에서 단일 노드 쿠버네티스 클러스터를 손쉽게 실행할 수 있게 해주는 경량화 도구이다. 쿠버네티스의 기능을 학습, 실습, 개발 목적으로 사용할 때 적합하며, 실제 대규모 운영 환경보다는 개발 및 테스트 환경에 최적화되어 있다.
도커가 설치되어 있다는 가정 하에 진행
시스템 권장 사양: 2 CPU 이상, 2GB 메모리 이상, 20GB 디스크 공간
바이너리 파일 설치
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
설치 완료 후 버전 확인
minikube version
kubectl설치
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
설치 확인
kubectl version --client
minikube클러스터 시작
minikube start --driver=docker
드라이버에 다른 가상화 도구를 사용할 수 있다.
클러스터 상태 확인:
minikube status
대시보드 실행:
minikube dashboard
클러스터 중지:
minikube stop
클러스터 삭제:
minikube delete
kubectl로 파드 조회:
kubectl get po -A
docker로 minikube 클러스터를 실행한 모습

dashboard를 통해 실행 현황을 볼 수 있다.
