본문 바로가기

프로그래밍/Docker

Vagrant 기반의 Minikube 실습

이전글에서는 Vagrant 기반의 CentOS Box에 Minikube를 설치 및 이에 대한 설명을 했다. 이번글에서는 이전글에서 언급했던 SKplanet Tacademy 채널에 있는 컨테이너 오케스트레이션 쿠버네티스 살펴보기 강의를 따라하는 방법을 잠깐 언급하고 강의에서 사용했던 파일과 내가 사용한 파일의 차이점에 대해 언급하는 시간을 갖도록 하겠다.

 

이전글에 공유해놓은 github 자료를 보면 guide-03 이란 디렉토리가 있다. 이 디렉토리를 이전글에서 설명한 내용중 Vagrant Box에 있는 디렉토리와 연결되는 Windows 디렉토리에 복사한다. 이렇게 복사해놓으면 vagrant ssh 명령을 통해 가상머신에 접속한뒤 cd /vagrant_hosts 를 해서 vagrant_hosts 디렉토리로 이동하면 guide-03 디렉토리를 볼 수 있다.

 

명령어를 실행하는 것을 단계별로 표현해보자면..

 

  1. cmd 창에서 Vagrantfile이 있는 디렉토리로 이동한 뒤 vagrant up 실행
  2. 가상머신이 실행되면 vagrant ssh 를 실행해서 가상머신을 접속
  3. 가상머신에 접속되어 있는 상태에서 cd /vagrant_hosts 실행하여 vagrant_hosts 디렉토리로 이동(이 디렉토리로 이동한뒤 ls 를 실행하면 복사해놓은 guide-03 디렉토리를 확인할 수 있다)
    2번과 3번까지 진행한 그림은 아래와 같다
  4. 본인이 원하는 실습을 진행
  5. 실습을 마치면 exit 를 입력하여 가상머신과의 접속을 끊음
  6. vagrant halt를 실행하여 가상머신 종료
    5번과 6번까지 진행한 그림은 아래와 같다

 

이런 흐름으로 실습을 한다고 생각하면 되겠다.

 

그러면 동영상 강의와 다른 점에 대해 언급하도록 하겠다.

  • kubectl get all 실행시 응답 속도에서 차이가 있었다. 동영상은 kubernetes의 경량화 엔진인 k3s를 사용했고 여기서는 minikube를 사용하다보니 관련 프로그램과 설정 및 구성이 다른 점이 있어서 이 부분은 비교판단을 하기가 그러했다. 그냥 그런 상황이 있다는 정도로만 알고 넘어가자(보여주는 결과물이 다른건 없다)
  • 설정파일에서 사용하는 api의 버전 차이가 있다. 예를 들어 동영상에서 service 에 대한 실습을 할때 redis를 kubernetes에 올리는 작업이 있는데 실습에서는 apiVersion 항목에 apps/v1beta2 를 사용하고 있지만 2020년 2월 13일을 기준으로 한 kubernetes 버전 1.17의 경우 v1beta2를 지원하지 않는다(beta 버전에서 정식이 나와서 그런것으로 추정된다). 그래서 apps/v1beta2 가 아니라 apps/v1 으로 설정해야 한다. kubernetes가 지원하는 api 버전을 알고 싶으면 kubectl api-versions 를 실행하면 알 수 있다.
  • ingress 를 설명하는 내용에서 추가해야 할 부분이 있다. minikube의 경우 ingress 를 사용할려면 addon을 설치하는 부분이 있는데 다음과 같이 하면 된다.

    sudo minikube addons enable ingress

    한번만 실행해주면 되며 addon 설치 이후 ingress 관련 실습을 해보면 정상동작한다
  • 동영상 강의를 보면 브라우저를 통해 pod을 접근하는 부분에 대한 설명이 나오는데 여기서 브라우저의 url에 입력하는 ip 주소는 이전 글에서 vagrant 가상머신이 갖게 되는 ip인 192.168.100.100을 입력하면 된다.

이상으로 Vagrant 기반의 Minikube 설치 및 실습과 관련된 글을 마치도록 하겠다. 로칼에서는 구축하기가 어려운 환경이어서 공부하고자 하는 열의는 있어도 실습하며 하기에는 한계가 있는 점도 있는데 이 글을 통해 조금이나마 도움이 되었음 한다