반응형
우분투 22.04에서 Minikube를 활용하여 로컬 Kubernetes 클러스터를 구축하는 방법
가상화 지원 확인
vmx는 Intel CPU, svm은 AMD CPU의 가상화 지원 플래그입니다.
egrep -m1 'vmx|svm' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cplvmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid dtherm ida arat flush_l1d
필수 패키지 설치
conntrack은 Minikube 실행 시 Kubernetes가 필요로 하는 네트워크 모듈입니다.
sudo apt update
sudo apt install -y curl apt-transport-https ca-certificates conntrack
Docker 설치
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker # 현재 세션에 적용
Docker 서버(엔진) 버전 확인
docker version --format '{{.Server.Version}}'
27.5.1
get-docker.sh 파일 삭제
sudo rm -f get-docker.sh
kubectl 설치(Kubernetes CLI)
curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl 버전 확인
kubectl version --client
Client Version: v1.33.1
Kustomize Version: v5.6.0
kubectl 바이너리 파일 삭제
sudo rm -f kubectl
Minikube 설치
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
Minikube 버전 확인
minikube version
minikube version: v1.36.0
commit: f8f52f5de11fc6ad8244afac475e1d0f96841df1-dirty
minikube-linux-amd64 바이너리 파일 삭제
rm minikube-linux-amd64
728x90
Minikube 클러스터 시작
minikube start --driver=docker
더보기
---
Minikube를 --driver=none 모드로 설치
minikube start --driver=none
Minikube 중지
minikube stop
Minikube 삭제
minikube delete
---
클러스터 확인
minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
Minikube IP 확인
minikube ip
192.168.49.2
kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 39s v1.33.1
kubectl cluster-info
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
테스트: 간단한 Pod 배포
Deployment 생성
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
deployment.apps/hello-minikube created
NodePort 서비스 생성
kubectl expose deployment hello-minikube --type=NodePort --port=8080
service/hello-minikube exposed
서비스 정보 확인
minikube service hello-minikube
|-----------|----------------|-------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|----------------|-------------|---------------------------|
| default | hello-minikube | 8080 | http://192.168.49.2:30414 |
|-----------|----------------|-------------|---------------------------|
* Opening service default/hello-minikube in default browser...
http://192.168.49.2:30414
Deployment와 Service를 삭제
더보기
---
Deployment 삭제
kubectl delete deployment hello-minikube
Service 삭제
kubectl delete service hello-minikube
---
curl 또는 브라우저로 접근
클러스터 문제를 추가로 디버그하고 진단하려면 'Kubectl Cluster-Info Dump'를 사용하십시오.
반응형
'리눅스' 카테고리의 다른 글
Java에서 시간을 확인하는 방법 (1) | 2025.05.28 |
---|---|
우분투 24.04에서 systemd-resolved를 비활성화하는 방법 (0) | 2025.05.28 |
VMware ESXi에서 실행 중인 우분투 가상 머신에서 GRUB 부트 메뉴에 진입하는 방법 (0) | 2025.05.28 |
우분투 24.04에서 rc.local을 활성화하는 방법 (0) | 2025.05.27 |
SSL 인증서 레벨의 특징과 주요 사용 사례 (0) | 2025.05.26 |