본문 바로가기
kubernetes

minikube

by misankim 2023. 3. 6.
minikube

 



# minikube 지원 드라이버 종류

 

docker (드라이버 설치)
virtualbox (드라이버 설치)
podman (드라이버 설치) (EXPERIMENTAL)
vmwarefusion
kvm2 (드라이버 설치)
hyperkit (드라이버 설치)
hyperv (드라이버 설치) 다음 IP는 동적이며 변경할 수 있다. minikube ip로 알아낼 수 있다.
vmware (드라이버 설치) (VMware unified driver)
parallels (드라이버 설치)
none (k8s 컴포넌트를 가상 머신이 아닌 호스트 상에서 구동한다. 리눅스를 실행중이어야 하고, 도커(Docker)가 설치되어야 한다.)



아래의 minikube 설치 방법은 1. 윈도우 상에 버추얼 박스 등의 하이퍼바이저를 설치하여 minikube 가상머신을 자동 생성하는 방식과 2. 리눅스 시스템 로컬에 바로 minikube를 설치하는 방법으로 나뉜다.



=======================================================================



# 리눅스 로컬시스템에 minikube 설치

 

리눅스에서도 별도의 하이퍼바이저를 통해 minikube 설치가 가능하나,
driver 를 none 으로 설정 시 별도의 하이퍼바이저 없이 리눅스 로컬 시스템에 바로 minikube 를 설치 가능하다.



# 사전 작업

 

swap 메모리 비활성화

 

swapoff -a

 

/etc/fstab 에서 swap 주석처리

 

yum install -y epel-release

 

편의를 위한 패키지 설치(필수는 아님)
yum install -y vim wget git jq



# 도커 설치

 

yum install -y yum-utils device-mapper-persistent-data lvm2


yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


yum install -y docker-ce docker-ce-cli containerd.io


systemctl enable docker && systemctl start docker



# kubectl 설치

 

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF


yum install -y kubectl



# minikube 설치

 

yum install -y conntrack


curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube


mkdir -p /usr/local/bin/


install minikube /usr/local/bin/

 

기본 드라이버 설정
minikube config set driver none

 

시작
minikube start

 

확인
minikube status

 

부팅 시 자동 실행
systemctl enable kubelet



# minikube 에서 nginx-ingress 활성화

 

설치 가능한 애드온 리스트 확인
minikube addons list

 

minikube addons enable ingress

 

ingress-nginx 네임스페이스에 deployment 생성됨

 

ingress-nginx 컨테이너 생성 시 hostPort 에 80, 443 포트 매핑되어 아이피주소로 바로 접속 가능



# metrics-server 활성화

 

minikube addons enable metrics-server



# minikube-hostpath provisioner를 통해 호스트 경로를 스토리지 클래스로 사용

 

minikube addons enable default-storageclass
minikube addons enable storage-provisioner



=======================================================================



# 설치

 

윈도우10 기준(Windows 10 Enterprise, Windows 10 Professional, Windows 10 Education)



# 윈도우 패키지 매니저로 설치

 

 

winget install minikube



# choco 설치(윈도우에서 사용 가능한 패키지 매니저)

 

 

windows powershell 을 관리자 권한으로 열어 아래 명령어 실행

 

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))


choco install minikube



# minikube 설치

 

버츄얼 박스 드라이버를 사용할 것이기 때문에 먼저 버츄얼 박스를 설치해야함

 

minikube start --driver=virtualbox

 

virtualbox 를 기본 드라이버로 지정
minikube config set driver virtualbox

 

설치가 완료되면 windows cmd 혹은 xshell 로 kubectl 명령어 사용이 가능해짐

 

확인
minikube status

 

클러스터 중지
minikube stop

 

클러스터 삭제
minikube delete



# 테스트 서비스 배포

 

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-minikube --type=NodePort --port=8080

 

접속 테스트
minikube service hello-minikube --url

 

테스트 배포 삭제
kubectl delete services hello-minikube
kubectl delete deployment hello-minikube

 

대시보드 배포
minikube dashboard

 

SSH 접속
minikube ssh


sudo passwd docker

 

적당한 비밀번호로 바꿈






'kubernetes' 카테고리의 다른 글

pod으로 클러스터 제어  (0) 2023.03.07
container multicast  (0) 2023.03.07
k8s 노드에 포드 할당  (0) 2023.03.07
traefik-ingress-controller  (0) 2023.03.07
metrics-server 배포  (0) 2023.03.06