쿠버네티스 학습을 위한 Minikube 설치 후기
Minikube란?
Minikube는 로컬 환경에서 간편하게 Kubernetes 클러스터를 실행하고 관리하는 도구입니다. Kubernetes는 대규모 컨테이너 오케스트레이션 플랫폼으로, 복잡한 애플리케이션의 배포와 관리를 용이하게 해줍니다. Minikube는 이러한 복잡성을 줄여 개발자가 로컬에서도 Kubernetes 클러스터를 테스트하고 개발할 수 있게 해주며, 실제 환경과 유사한 조건에서 애플리케이션을 검증하고 디버깅할 수 있습니다.
그러면 Minikube의 핵심 장점 5가지를 간략하게 정리해보겠습니다.
- 로컬 환경에서 Kubernetes 실행 : Minikube를 사용하면 로컬 환경에서도 가상 Kubernetes 클러스터를 실행할 수 있습니다.
- 간편한 설치 및 설정 : Minikube는 간단한 명령어를 통해 Kubernetes 클러스터를 생성하고 설정할 수 있습니다.
- 테스트 및 개발 용이성 : Minikube를 통해 애플리케이션을 개발 및 테스트하며, Kubernetes 리소스를 신속하게 실험할 수 있습니다.
- 클라우드 환경 시뮬레이션 : 로컬 클러스터를 통해 클라우드 환경과 유사한 상황을 시뮬레이션하여 애플리케이션 동작을 확인할 수 있습니다.
- 다양한 드라이버 지원 : VirtualBox, Hyperkit, Docker Desktop 등 다양한 드라이버를 통해 클러스터를 생성할 수 있습니다.
이렇게 Minikube는 개발자들이 Kubernetes를 효율적으로 활용하며, 로컬 환경에서의 개발과 테스트 과정을 간편하게 수행할 수 있도록 도와줍니다.
Minikube 설치 요구사항
1. Docker Desktop
따라서 Minikube는 Docker 컨테이너를 사용하여 Kubernetes 클러스터를 관리하므로 Docker Desktop이 설치되어 있어야 합니다.
2. kubectl
kubectl은 Kubernetes 클러스터를 제어하고 관리하기 위한 명령어 도구입니다. Minikube는 Kubernetes 클러스터를 로컬 환경에서 실행하는데, 이 클러스터를 다루기 위해서는 kubectl을 사용해야 합니다.
kubectl은 Kubernetes API와 통신하여 클러스터의 리소스를 생성, 조회, 수정 및 삭제하는 등 다양한 작업을 수행할 수 있게 해줍니다. Minikube와 함께 사용하기 위해서는 kubectl이 미리 설치되어 있어야 합니다.
3. Homebrew (macOS)
Homebrew는 macOS 운영체제에서 소프트웨어 패키지를 관리하기 위한 패키지 관리자입니다. macOS에서 소프트웨어를 설치하거나 관리할 때 편리하게 사용할 수 있는 도구로, 필요한 응용 프로그램이나 도구를 간단한 명령어로 편리하게 설치하고 업데이트할 수 있습니다.
4. Chocolately (Windows)
Window 환경에서는 Homebrew 대신 "Chocolatey” 와 같은 패키지 관리자를 사용할 수 있습니다. 이들은 macOS의 Homebrew와 유사한 역할을 하며, 윈도우 운영체제에서 소프트웨어를 쉽게 설치하고 관리할 수 있게 해줍니다.
macOS에 Homebrew를 설치하는 방법
우선 터미널 상에서 설치하는 방법입니다.
1. 터미널 열기 : macOS에서 "Terminal" 앱을 엽니다.
2. Xcode Command Line Tools 설치 (선택 사항) : Homebrew를 사용하기 위해 Xcode Command Line Tools를 설치하는 것이 좋습니다. 터미널에서 다음 명령어를 실행하여 설치할 수 있습니다.
xcode-select --install
3. Homebrew 설치 명령어 실행:** 터미널에서 아래 명령어를 복사하고 붙여넣은 후 엔터를 눌러 Homebrew를 설치합니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
4. 설치 확인 : 설치가 완료되면 아래 명령어를 통해 Homebrew가 제대로 설치되었는지 확인할 수 있습니다.
brew --version
5. 환경 변수 설정 (중요) : Homebrew를 사용하기 위해서는 시스템의 PATH 환경 변수에 Homebrew 실행 파일 경로를 추가해야 합니다. 터미널에서 다음 명령어를 실행하여 설정 파일에 Homebrew 관련 내용을 추가합니다.
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile source ~/.zprofile
6. 설치 완료 : 이제 Homebrew가 설치되었고 사용할 준비가 되었습니다. 터미널에서 brew 명령어를 사용하여 패키지를 설치하거나 관리할 수 있습니다.
다음은 홈페이지를 통해 설치하는 방법입니다.
1. 브라우저에서 homebrew를 검색하면 나오는 https://brew.sh/ 해당 사이트에 접속합니다.
2. 다음 명령어를 복사하여 터미널에 붙여넣기 합니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3. 설치 완료되었습니다.
Docker Desktop
1. Docker Desktop 설치
다음은 Docker Desktop을 설치해야 하는 상황입니다.
- 컨테이너 기반 애플리케이션 개발 및 테스트를 위한 환경을 구축하려는 경우
- Kubernetes를 내장하고 있는 Docker Desktop을 사용하여 Kubernetes 클러스터를 구성하려는 경우
Google에 Docker Desktop 검색 > Docker Desktop 공식 페이지 접속 > 본인 OS에 맞게 설치합니다. 다운로드 페이지 링크는 https://www.docker.com/products/docker-desktop 입니다.
2. Docker Desktop 설정
설치가 완료되면 Docker Desktop을 실행합니다. 애플리케이션 폴더 또는 검색으로 찾을 수 있습니다.
Docker Desktop을 실행한 후, 상단 메뉴 바에서 Docker 아이콘을 클릭하고 "Preferences" 또는 "설정"을 선택합니다.
3. Kubernetes 옵션 활성화
"Preferences" 또는 "설정" 창에서 왼쪽 탭 메뉴에서 "Kubernetes"를 선택합니다.
그리고 "Enable Kubernetes" 또는 "Kubernetes 활성화" 옵션을 체크합니다.
4. Homebrew를 사용하여 Docker 설치 (선택 사항)
만약 Docker를 Homebrew를 통해 설치하고 싶다면, 터미널에서 아래 명령어를 실행합니다.
brew install --cask docker
이렇게 설치하면 Docker Desktop을 사용할 수 있게 됩니다. 위의 단계를 따라 Docker Desktop을 설치하고 Kubernetes 환경을 활성화할 수 있습니다. Docker Desktop을 사용하면 로컬에서 컨테이너를 관리하고 Kubernetes 클러스터를 사용할 수 있어 개발 및 테스트 작업이 편해집니다.
Minikube 설치
brew install kubectl
(참고로 이전에 kubectl을 이미 설치하였기 때문에 reinstall 명령어를 실행했습니다)
그리고 Homebrew를 사용하여 Minikube를 설치합니다.
brew install minikube
클러스터 시작
이제 드디어 Minikube를 시작하여 Kubernetes 클러스터를 구축합니다.
minikube start
트러블슈팅
노트북에 Minikube를 설치하기 위해서는 가상화 기술(Virtualization)이 활성화되어 있어야 합니다. 저는 이전에는 인텔(Intel) 기반 PC를 사용했었습니다. 그래서 저는 바로 VirtualBox를 설치하였습니다. 그런데 설치가 중단되면서 설치할 수 없다는 에러를 발생했습니다. 왜 그럴까요?
daeunkim@Daeunui-MacBookPro ~ % brew install --cask virtualbox
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/69b36354e18a013641d1a798256c027f218b068d/Casks/v/virtualbox.rb
##################################################################################################################################################################################################### 100.0%
==> Downloading https://download.virtualbox.org/virtualbox/7.0.10/VirtualBox-7.0.10a-158379-OSX.dmg
##################################################################################################################################################################################################### 100.0%
Error: Cask virtualbox depends on hardware architecture being one of [{:type=>:intel, :bits=>64}], but you are running {:type=>:arm, :bits=>64}.
VirtualBox는 인텔(Intel) 아키텍처를 기반으로 하기 때문에 ARM 아키텍처에서 실행되지 않습니다. ARM으로는 대표적으로 M1 칩이 있습니다. M1은 애플이 개발한 ARM 아키텍처 기반의 프로세서로, 맥북과 아이패드 등에서 사용되며, 저전력과 높은 성능을 제공하는 특징을 가지고 있습니다.
그리고 제가 와탭에서 사용 중인 노트북은 맥북 프로 M1을 사용하고 있습니다.
ARM 아키텍처에서 Kubernetes 환경을 구성하려면 Docker Desktop의 내장 Kubernetes를 사용하거나, Minikube가 아닌 Docker Desktop을 설치하여 Kubernetes를 사용하는 것이 좋습니다. Docker Desktop은 M1 맥북에서도 잘 동작하며, Kubernetes 환경을 구성할 수 있습니다.
< 글: 와탭랩스 쿠버네티스개발그룹 인턴 김다은님 >
댓글
댓글 쓰기