[k8s]virtualbox로 쿠버네티스 테스트 환경 구성하기

Yesol Lee·2023년 2월 23일
0

데브옵스

목록 보기
2/3

책: 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 2장 테스트환경 구축하기
인프런 강의 : 쉽게 시작하는 쿠버네티스(v1.25) - 쿠버네티스 환경 구성

쿠버네티스는 기본적으로 다수의 서버를 관리하는 도구이기 때문에 연습하기 위해서 가상머신으로 여러 대의 노드를 구성한다. 2장에서는 virtualbox 가상머신을 이용하여 1개의 마스터노드와 3개의 워커 노드로 구성된 테스트 환경을 준비한다.

virtualbox로 테스트 환경 구성하기

환경 구성 도구

  • virtualbox : 가상머신을 구성할 수 있는 가상화 소프트웨어.
  • vagrant(베이그런트) : 코드로 인프라 설정을 미리 작성해두고 실행하면 해당 설정으로 인프라를 만들어주는 소프트웨어. 프로비저닝(provisioning) 툴

자주 사용하는 vagrant 명령어

  • vagrant init: 프로비저닝을 위한 기초 파일인 Vagrantfile 생성
  • vagrant init: Vagrantfile 읽어 설정대로 인프라 구성 생성
  • vagrant halt: vagrant에서 다루는 가상머신 종료
  • vagrant destroy: vagrant에서 다루는 가상머신 삭제
  • vagrant ssh: vagrant에서 다루는 가상머신에 ssh로 접속
  • vagrant provision: vagrant에서 다루는 가상머신에 변경된 설정 적용

Vagrantfile 작성

  • Vagrantfile은 사용자가 원하는 인프라 설정 및 구성방법을 명시해 둔 파일이라고 할 수 있다.
  • 사용언어는 Ruby. 루비를 배운 적은 없지만 이해하기 어려운 점은 딱히 없을 정도로 명료하게 작성되어 있다.
  • 처음에는 모든 설정이 완료된 기존의 이미지를 가져와서 가상머신을 실행하였다.

vagrant로 테스트 환경 구축하기

가상머신 설정 자동으로 구성

  • 기존 이미지가 아닌 사용자가 원하는 설정을 직접 vagrantfile에 작성한 후 해당 파일을 기반으로 자동으로 구성하는 코드를 작성했다.

가상머신에 추가 패키지 설치

  • 가상머신 설정 자동 구성 후 vagrantfile에 패키지를 설치하라는 명령이 담긴 shell 파일을 실행하라는 코드를 추가하였다.
  • vagrant provision으로 변경된 설정을 기존 가상머신에 적용했더니 패키지가 설치되었다.

다수의 가상머신 구성

  • Vagrantfile에 반복문을 이용해 3개의 워커노드를 추가로 생성하는 코드를 작성하였다. 조건문을 이용해 마스터노드와 워커노드 코드를 분리해주었다.
  • 추가로 생성된 3개의 노드에 ping을 보내는 shell 파일을 추가하고 실행하게 해서 제대로 생성되었는지 테스트하였다.

터미널로 가상머신 접속하기

  • putty : 많이 사용하는 터미널 접속 프로그램. 한 번에 한 대의 가상머신에 접속할 수 있음
  • superputty: 여러 개의 터미널 화면에 동시에 같은 명령어를 입력할 수 있는 프로그램. putty프로그램을 기반으로 실행됨.

superputty로 다수의 가상머신 동시 접속

  • 쿠버네티스 공부를 하다가 superputty를 처음 알게 되었는데, 마침 참여 중인 프로젝트에서도 여러 개의 putty 터미널에 같은 명령어를 입력해야 되는 일이 많아서 회사 일에도 superputty를 사용해보았다. 전체 입력 터미널에서는 tab으로 명령어 자동 완성이 안되는 점이 아쉽긴 하지만 터미널을 옮겨다니며 복사 붙여넣기를 하지 않아도 되는 것이 편리하다. 업무와 관련이 떨어져 보이던 것을 공부하다가도 업무에 도움이 되는 내용을 알게 되면 기분이 좋다.
profile
문서화를 좋아하는 개발자

0개의 댓글