반응형
우분투에서 minikube 업그레이드 방법
Minikube는 지속적으로 새로운 버전이 출시되므로 최신 기능과 보안 패치를 적용하려면 업그레이드가 필요합니다.
테스트 환경
$ lsb_release -d
Description: Ubuntu 22.04.3 LTS
현재 Minikube 버전 확인
현재 설치된 Minikube 버전을 확인합니다.
minikube version
minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512d
Minikube의 최신 버전을 확인
curl -s https://api.github.com/repos/kubernetes/minikube/releases/latest | grep tag_name
"tag_name": "v1.35.0",
기존 Minikube 삭제
업그레이드 전에 기존 Minikube의 클러스터를 초기화합니다.
실행 중인 Minikube 중지
minikube stop
더보기
---
기존 Minikube 클러스터 삭제
minikube delete
* Deleting "minikube" in docker ...
* Removing /root/.minikube/machines/minikube ...
* Removed all traces of the "minikube" cluster.
---
Minikube 업그레이드
최신 Minikube 다운로드 및 설치
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
ln -s /usr/local/bin/minikube /usr/bin/minikube
설치 확인
- 최신 버전이 적용되었는지 확인합니다.
minikube version
minikube version: v1.35.0
commit: dd5d320e41b5451cdf3c01891bc4e13d189586ed-dirty
기존 클러스터 유지하며 업그레이드 적용
su - vagrant
sudo usermod -aG docker $USER && newgrp docker
기존 Minikube 클러스터를 유지하면서 업그레이드합니다.
minikube start --driver=docker --kubernetes-version=latest
* minikube v1.35.0 on Ubuntu 22.04
* Using the docker driver based on user configuration
* Using Docker driver with root privileges
* Starting "minikube" primary control-plane node in "minikube" cluster
* Pulling base image v0.0.46 ...
* Downloading Kubernetes v1.32.0 preload ...
> preloaded-images-k8s-v18-v1...: 333.57 MiB / 333.57 MiB 100.00% 4.94 Mi
> gcr.io/k8s-minikube/kicbase...: 500.31 MiB / 500.31 MiB 100.00% 6.24 Mi
* Creating docker container (CPUs=2, Memory=9000MB) ...
* Preparing Kubernetes v1.32.0 on Docker 27.4.1 ...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Configuring bridge CNI (Container Networking Interface) ...
* Verifying Kubernetes components...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
! /usr/bin/kubectl is version 1.28.2, which may have incompatibilities with Kubernetes 1.32.0.
- Want kubectl v1.32.0? Try 'minikube kubectl -- get pods -A'
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
(또는) 특정 버전으로 업그레이드합니다.
minikube start --kubernetes-version=v1.32.0
kubectl 관련 구성 요소도 함께 업그레이드(선택 사항)
kubectl 버전 확인
kubectl version --client
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
kubectl 최신 버전으로 업데이트
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
sudo ln -s /usr/local/bin/kubectl /usr/bin/kubectl
kubectl version --client
Client Version: v1.32.2
Kustomize Version: v5.5.0
728x90
Minikube 클러스터 실행
Minikube 시작
Minikube를 Docker 드라이버를 사용하여 실행합니다.
minikube start --driver=docker
* minikube v1.35.0 on Ubuntu 22.04
* Using the docker driver based on existing profile
* Starting "minikube" primary control-plane node in "minikube" cluster
* Pulling base image v0.0.46 ...
* Restarting existing docker container for "minikube" ...
* Preparing Kubernetes v1.32.0 on Docker 27.4.1 ...
* Verifying Kubernetes components...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
클러스터 상태 확인
minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
노드 및 서비스 확인
쿠버네티스 노드 확인
kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 26m v1.32.0
클러스터 내 서비스 확인
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 27m
테스트용 애플리케이션 배포
Minikube가 정상적으로 동작하는지 확인하기 위해 간단한 Nginx 애플리케이션을 배포합니다.
kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
kubectl expose deployment nginx --type=NodePort --port=80
service/nginx exposed
Minikube에서 서비스의 URL 확인
minikube service nginx --url
http://192.168.49.2:30688
cURL을 활용한 사이트 확인
curl http://192.168.49.2:30688
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Minikube 클러스터 삭제
실행 중인 클러스터 중지
minikube stop
Minikube 클러스터 삭제
minikube delete
Minikube 및 관련 파일 완전 삭제
sudo rm -rf ~/.minikube ~/.kube
sudo rm /usr/local/bin/minikube
참고URL
- minikube Documentation : minikube Installation
- Kubernetes Documentation : Kubernetes Download
728x90
반응형
'리눅스' 카테고리의 다른 글
Zabbix에서 Slack으로 Webhook 알림을 받는 방법 (0) | 2025.02.19 |
---|---|
hdparm을 사용한 디스크 성능 테스트 방법 (0) | 2025.02.18 |
journald란 (0) | 2025.02.16 |
Google IP 주소 (0) | 2025.02.11 |
Ansible Pull 모드를 사용하여 NGINX를 설치하는 방법 (0) | 2025.02.07 |