미니쿠베란? 왜?
Minikube를 사용하면 로컬 컴퓨터에서 Kubernetes 클러스터를 실행하고 애플리케이션을 개발 및 테스트할 수 있습니다.
GKE, EKS, 직접 클러스터 구축을 하는것은 부담스럽기때문에 로컬 환경에서 쿠버네티스 클러스터를 체험할수있도록 도와준다
Minikube의 주요 목표는 일상적인 개발 워크플로 및 학습 목적으로 Kubernetes를 로컬에서 간단하게 실행하도록 만드는 것입니다.
로컬에서 빠른 설정을 도와 체험할 수 있게 해준다.
문서를 보면서 찾는방법
https://minikube.sigs.k8s.io/docs/ 을 통해 들어갔다.
가상 머신이나 컨테이너가 필요하다. 따라서 가상머신을 통해서 ubuntu를 통해 docker위에서 돌려보도록 할 것이다.
설치를 보면 공식문서에 환경에 맞는걸 찾으면 된다
그런데 우리는 우분투 20.04 환경에 도커를 설치하고 미니큐브 설치를 진행한다.
컨테이너 런타임을 도커를 사용하는것이다.
minikube는 VM, 컨테이너 또는 베어메탈로 배포될 수 있습니다. 배포를 컨테이너 환경으로 한다.
다시정리하면 컨테이너 런타임을 도커에서 돌려서 미니큐브(minikube)를 통해 쿠버네티스 클러스터를 이용할 것이다 라는것이다
minikube는 sudo권한을 사용하면 오류가 나기때문에 도커에 권한을 바꿔주는것도 중요하다
미니쿠베 접속
minikube에 클라이언트로 접속하는 가장 간단한 방법은 kubectl을 사용하는 것이다. 이때 kubectl을 별도로 설치해주어야 하는데 snap을 통해 다운로드 받을 수 있다. 만약 오류와 함께 --classic 옵션을 붙여달라는 문구가 나오면 함께 실행한다.
그런데 접속은 여기서 즉 Minikube 클러스터에 접속하는 것이다 (GKE에서 클러스터 접속처럼)
설치 팁
잘안되는 경우가 있는데 상태를 살피면서 재부팅을 한번 해보는것도 방법이다
결과
간단한 명령어 및 서비스와 파드의 차이
파드(Pod)는 Kubernetes의 기본 배포 단위입니다. 하나 이상의 컨테이너로 구성된 작업 단위로, 일반적으로 동일한 호스트에서 실행됩니다.
서비스는 파드의 집합에 대한 네트워크 엔드포인트를 논리적으로 노출시키는 역할을 합니다.
노드(Node)는 클러스터 내에서 실제 컴퓨팅 자원을 나타내는 용어입니다. 노드는 Kubernetes 클러스터를 구성하는 중요한 구성 요소 중 하나이며, 애플리케이션 컨테이너를 실행하는 물리적 또는 가상화된 호스트입니다. 노드는 Kubernetes 마스터와 함께 작동하여 컨테이너화된 애플리케이션을 관리하고 실행합니다.요약하면, 파드는 쿠버네티스에서 실행되는 애플리케이션의 최소 실행 단위이며, 컨테이너 그룹으로 구성됩니다. 파드는 네트워크와 스토리지 공유를 위해 함께 그룹화되며, 로드 밸런싱 및 스케일링의 대상이 될 수 있습니다.
노드는 클러스터 내에서 파드를 실행하는 물리적 또는 가상화된 호스트이며, 파드의 실행 환경을 제공하고 클러스터 관리를 위한 핵심 구성 요소 중 하나입니다. 클러스터 내에서 여러 노드가 서로 다른 역할을 수행하며, 파드를 실행하고 관리합니다.