1. 쿠버네티스 설치
로컬 맥북환경에서 간단하게 쿠버네티스를 설치하고 실행해보겠습니다. 개발 환경과 운영환경의 구성은 차이가 많이난다. 쿠버네티스를 운영환경에 설치하기위해선 아래의 그림과 같이 최소 3대의 마스터 서버가 필요하고 컨테이너배포를 위한 n개의 노드서버가 필요합니다.
위와같이 쿠버네티스를 구성하려면 너무 많은 리소스가 들기때문에 개발환경을 위한 설치방법들을 제공한다. 하지만 아래 개발환경에서 구축하게되면 한개의 서버에 마스터와 노드가 하나의 서버에뜨면 로드밸런싱등을 테스트하기가 어렵다.
위와같이 docker, 미니쿠베, 카인, k3s등을 이용하면 개발환경에서 마스터와 노드를 하나에 서버에 구성할 수 있습니다. 하지만 개발환경에서는 보통 미니쿠베를 이용해서 개발하고 테스트를 합니다.
2. 미니쿠베설치 및 실행
여기에서는 미니쿠베를 이용해서 실습을 해볼것이다. 미니쿠베는 대부분의 환경에서 사용가능하며 무료이다. 그런데 사양문제로 인해 미니쿠베를 설치할수없으면 조금더 가볍운 k3s를 설치해서 사용할 수 있다.
미니쿠베 설치
$ brew install minikube
$ minikube version
minikube version: v1.23.2
설치 완료후에 minikube version를 입력하면 설치된 정보를 확인할 수 있다. 미니큐베는 여러가지 가사머신을 지원한다. 대표적인게 hyperkit이다.
# 가상머신 시작 ( 관리자권한으로 실행해야함)
$ minikube start --driver=hyperkit
# 쿠베 실행
$ minikube start
# 상태확인
$ minikube status
# 정지
$ minikube stop
# 삭제
$ minikube delete
# 버전확인
$ minikube version
맥에 기본적으로 깔려있는 hyperkit 을 이용해서 k8s 가상머신을 만든다. 드라이버를 다운받으면 다운로드화면에 preloaded-images-k8s-v13-v1 라고뜨는데 이게 이미지이름을 의미한다. 설치완료후 minikube status 를 통해 쿠버네티스 상태를 확인할 수 있다.
$ minikube status
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
아래 명령어를 사용하면 특정버전에 k8s를 실행할 수 있다.
# 특정 k8s 버전 실행
$ minikube start --kubernetes-version=v1.20.0
이제 실제 쿠베에 접속하려면 아래 명령어를 통해 쿠베시스템에 접근할 수 있다.
# ssh 접속
$ minikube ssh
쿠베에 접속한후 docker ps를 하게되면 내부에 엄청 많은 서버들이 구성되어있는것을 확인할 수 있다.
스케줄러, controller, apiserver등이 떠있는것을 볼 수 있다. 미니쿠베에서 IP를 확인하려면 아래와같은 명령어로 확인할 수 있다.
# ip 확인
$ minikube ip