minikube를 이용해 로컬 쿠버네티스 클러스터 구성하기
AWS EKS를 이용해 쿠버네티스 클러스터를 운영하는데, 로컬에서도 비슷한 환경을 만들어 개발/테스트를 진행해야 합니다.
minikube를 이용해 로컬에 클러스터를 구성하는 방법을 공유합니다.
minikube 설치
$ brew install minikube
homebrew를 이용해 간단히 설치할 수 있습니다.
macOS가 아닌 경우 minikube Getting Started를 참고해 사용하는 OS에 맞게 설치할 수 있습니다.
클러스터 실행
# eks에서 v1.14.8을 사용하는 중인 경우의 예입니다.
$ minikube start --kubernetes-version v1.14.8
--kubernetes-version
옵션으로 쿠버네티스의 버전을 지정해줄 수 있고(옵션을 사용하지 않으면 minikube가 지원하는 최신 버전을 사용합니다.),
—-cpus
, --memory
, --disk-size
옵션으로 자원을 할당 할 수 있습니다.
다른 옵션은 minikube start --help
를 참고 해주세요.
작성일(2020. 1. 6.) 기준 AWS EKS는 쿠버네티스
v1.14.8
까지 지원하고 있습니다. (AWS EKS 플랫폼 버전)
minikube status
를 이용해 minikube의 상태 확인을 할 수 있습니다.
$ minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
버전을 확인하면 1.14.8
버전으로 실행이 완료된 것을 확인할 수 있습니다.
$ kubernetes version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:11:03Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:02:12Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
쿠버네티스 설정 파일(~/.kube/config)을 확인하면 minikube 클러스터와 유저가 추가되고 현재 컨텍스트가 minikube인 것을 확인할 수 있습니다.
(EKS 클러스터에 연결하지 않았다면 minikube만 있을 수 있습니다.)
# ~/.kube/config
apiVersion: v1
clusters:
- cluster:
(...)
name: arn:aws:eks:ap-northeast-2:(...):cluster/(...)
- cluster:
(...)
name: minikube
contexts:
- context:
cluster: arn:aws:eks:ap-northeast-2:(...):cluster/(...)
user: arn:aws:eks:ap-northeast-2:(...):cluster/(...)
name: arn:aws:eks:ap-northeast-2:(...):cluster/(...)
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: arn:aws:eks:ap-northeast-2:(...):cluster/(...)
(...)
- name: minikube
(...)
여러 클러스터 중 kubectl
을 사용할 클러스터를 지정할 때는 kubectl config use-context
명령어를 사용할 수 있습니다.
$ kubectl config use-context minikube
Switched to context "minikube".
$ kubectl config use-context arn:aws:eks:ap-northeast-2:(...):cluster/(...)
Switched to context "arn:aws:eks:ap-northeast-2:(...):cluster/(...)".
또는 Docker Desktop을 사용할 수 있습니다.
클러스터 대시보드
$ minikube dashboard
브라우저를 통해 쿠버네티스 대시보드를 보여줍니다.
클러스터 중지
$ minikube stop
클러스터 삭제
$ minikube delete
간단한 사용법을 소개했습니다.
이외의 minikube 명령어는 minikube --help
를 통해 확인할 수 있습니다.
참고자료
댓글남기기