728x90
반응형
Linux에 MiniKube 설치하기
시스템 요구사항
Minikube를 설치하기 전에 아래 요구 사항 확인.
- 운영체제: Linux (64-bit)
- CPU: 2개 이상의 CPU 코어
- RAM: 2GB 이상
- 가상화 지원: VM을 사용하여 Minikube를 실행하는 경우 가상화가 활성화되어 있어야 한다.결과에 vmx 또는 svm이 포함되어 있다면, 가상화가 가능하다는 뜻.
- $ grep -E --color 'vmx|svm' /proc/cpuinfo
시스템 아키텍처 확인
먼저 시스템 아키텍처를 확인.
$ uname -m
- x86_64: 64-bit 아키텍처 (일반적인 Intel/AMD 기반 PC)
- aarch64: ARM 64-bit 아키텍처 (예: Raspberry Pi, 일부 서버)
- armv7l: ARM 32-bit 아키텍처
올바른 kubectl 바이너리 다운로드
1. x86_64 아키텍처 (64-bit Intel/AMD 시스템):
$ curl -LO "<https://dl.k8s.io/release/$>(curl -L -s <https://dl.k8s.io/release/stable.txt>)/bin/linux/amd64/kubectl"
2. ARM 64-bit (aarch64) 아키텍처:
$ curl -LO "<https://dl.k8s.io/release/$>(curl -L -s <https://dl.k8s.io/release/stable.txt>)/bin/linux/arm64/kubectl"
3. ARM 32-bit (armv7l) 아키텍처:
$ curl -LO "<https://dl.k8s.io/release/$>(curl -L -s <https://dl.k8s.io/release/stable.txt>)/bin/linux/arm/kubectl"
설치 과정
1. 다운로드한 바이너리에 실행 권한을 부여
$ chmod +x kubectl
2. kubectl을 /usr/local/bin/에 이동시켜 시스템 전역에서 접근할 수 있게 설정.
$ sudo mv kubectl /usr/local/bin/
3. kubectl version 확인.
$ kubectl version --client Client Version: v1.31.2 Kustomize Version: v5.4.2
Minikube 시작
Minikube는 여러 가지 VM 드라이버를 사용할 수 있다.
VM 드라이버를 사용하지 않고 Minikube를 시작하려면 기본적으로 Docker 드라이버를 사용할 수 있다.
- Docker 드라이버로 Minikube 시작 (Docker가 설치되어 있어야 함):
$ minikube start --driver=docker
- root 권한으로 실행 할 경우 아래와 같이 에러 발생.
$ minikube start --driver=docker
😄 minikube v1.34.0 on Ubuntu 22.04 (arm64)
✨ Using the docker driver based on user configuration
🛑 The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
💡 If you are running minikube within a VM, consider using --driver=none:
📘 <https://minikube.sigs.k8s.io/docs/reference/drivers/none/>
❌ Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
- minikube 가 Docker 데몬에 접근하려다가 권한이 부족해서 실행이 중단된 상태
- docker 소켓에 접근하려면 해당 사용자가 docker 그룹에 속해 있어야 하는데, 현재 사용자게에게 권한이 없는 상태
$ minikube start --driver=docker
😄 minikube v1.34.0 on Ubuntu 22.04 (arm64)
✨ Using the docker driver based on user configuration
💣 Exiting due to PROVIDER_DOCKER_NEWGRP: "docker version --format -:" exit status 1: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/version": dial unix /var/run/docker.sock: connect: permission denied
💡 Suggestion: Add your user to the 'docker' group: 'sudo usermod -aG docker $USER && newgrp docker'
📘 Documentation: <https://docs.docker.com/engine/install/linux-postinstall/>
- 사용자를 docker 그룹에 추가 docker 소켓에 접근할 수 있도록 사용자를 docker 그룹에 추가해야 한다.
- $ sudo usermod -aG docker $USER
- 세션 갱신: 위 명령어를 실행한 후, 변경 사항이 적용되려면 세션을 새로고침 필요.
$ newgrp docker
$ minikube start --driver=docker
😄 minikube v1.34.0 on Ubuntu 22.04 (arm64)
✨ Using the docker driver based on user configuration
🧯 The requested memory allocation of 1967MiB does not leave room for system overhead (total system memory: 1967MiB). You may face stability issues.
💡 Suggestion: Start minikube with less memory allocated: 'minikube start --memory=1967mb'
📌 Using Docker driver with root privileges
👍 Starting "minikube" primary control-plane node in "minikube" cluster
🚜 Pulling base image v0.0.45 ...
💾 Downloading Kubernetes v1.31.0 preload ...
> gcr.io/k8s-minikube/kicbase...: 441.45 MiB / 441.45 MiB 100.00% 7.12 Mi
> preloaded-images-k8s-v18-v1...: 307.61 MiB / 307.61 MiB 100.00% 4.49 Mi
🔥 Creating docker container (CPUs=2, Memory=1967MB) ...
🐳 Preparing Kubernetes v1.31.0 on Docker 27.2.0 ...
▪ 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: storage-provisioner, default-storageclass
🏄 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
Minikube 관리 명령어
- 클러스터 중지:
$ minikube stop
- 클러스터 삭제:
$ minikube delete
Kubectl로 Minikube 연결 확인
Minikube가 정상적으로 실행되고 있다면, kubectl을 사용하여 Kubernetes 클러스터에 접근할 수 있다.
$ kubectl get nodes
728x90
반응형
'1.프로그래밍 > 개발' 카테고리의 다른 글
Connection Timeout과 Read Timeout (3) | 2024.10.29 |
---|---|
Docker 란? (0) | 2024.10.24 |
헤이즐 캐스트 (Hazelcast) 란? (0) | 2024.10.24 |
[NHN Academy] NHN Academy 인증 과정 (9) | 2023.03.24 |
[NHN Academy] NHN Academy 인증 과정 프로젝트 발표 (0) | 2023.03.24 |