2 분 소요

OS환경은 Windows 10 기준으로 작성되었습니다.

2.1 테스트 환경을 자동으로 구성하는 도구

2.1.1 버추얼박스 설치하기

  • 버추얼박스 다운로드 페이지 접속

      https://www.virtualbox.org/wiki/Downloads
    
  • 사용하는 운영체제에 맞는 버전을 다운로드

    image

  • 다운로드 받은 설치 파일을 찾아 실행하고 [Next] 클릭하여 설치

    image

2.1.2 베이그런트 설치하기

  • 베이그런트 다운로드 페이지 접속

      https://www.vagrantup.com/downloads
    
  • 사용하는 운영체제에 맞는 버전을 다운로드

    image

  • 다운로드 받은 설치 파일 찾아 실행하고 [Next] 클릭하여 설치

    image

2.1.3 베이그런트 구성하고 테스트하기

자주 사용하는 베이그런트 명령어

명령어
설명
vagrant init 프로비저닝을 위한 기초 파일을 생성
vagrant up Vagrantfile을 읽어 프로비저닝을 진행
vagrant halt 베이그런트에서 다루는 가상머신을 종료
vagrant destory 베이그런트에서 관리하는 가상머신 삭제
vagrant ssh 베이그런트에서 관리하는 가상 머신에 ssh 접속
vagrant provision 베이그런트에서 관리하는 가상 머신에 변경된 설정 적용
  • 베이그런트 초기화 vagrant init 명령어를 실행하여 기본 코드를 생성

    image

  • 명령어를 실행하면 Vagrantfile 파일이 작성된다. 에디터로 해당 파일을 오픈하여 내용 수정

      config.vm.box = "base" 이 부분을 찾아서
      config.vm.box = "sysnet4admin/CentOS-k8s" 로 변경
    

    image

  • Vagrantfile 파일 저장 및 종료 후 vagrant up 명령어 실행
      vagrant up
    

    Vagrantfile 수정이 귀찮으신분들은 vagrant init sysnet4admin/CentOS-k8s
    명령어로 한번에 수정 없이 할 수 있다.

  • Hyper-V가 활성화 되어있지 않은 경우 아래와 같은 에러가 발생합니다.
    친절하게 제어판에 Windows 기능에서 활성화 하라고 알려주네요.

    image

  • 제어판 > 프로그램 및 기능 > Windows 기능 켜기/끄기 순으로 들어가서 Hyper-V, Windows 하이퍼바이저 플랫폼 활성화

    image image

  • 다시 vagrant up 명령어를 실행 후 가상 머신 이미지를 내려 받는지 확인.
      vagrant up
    

    image

  • 설치 된 CentOS 에 접속
      vagrant ssh
    
  • 설치 된 CentOS 빠져 나가기
      exit
    
  • 설치 된 CentOS 종료
      vagrant destroy -f
    

2.2베이그런트로 테스트 환경 구축하기

2.2.1 가상 머신에 필요한 설정 자동으로 구성하기

문법 간략 설명

   
   
Vagrant.configure(“2”) 숫자 2는 vagrant api 버전
do 설정의 시작, do 와 end의 들여쓰기 위치를 정확히 해야한다.
config.vm.define 가상 머신 tag를 정의
cfg.vm.box provisioning할 이미지를 정의
cfg.vm.provider provider를 virtualbox로 정의
vb.name 가상 머신 이름 정의
vb.customize 가상머신 스펙을 정의
cfg.vm.host_name hostname 정의
cfg.vn.network 네트워크에 대한 설정
cfg.vm.synced_folder host와 사용하게될 공유 폴더를 지정
end 설정의 종료, do 와 end의 들여쓰기 위치를 정확히 해야한다.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|

    config.vm.define "m-k8s" do |cfg|
        cfg.vm.box = "sysnet4admin/CentOS-k8s"
        cfg.vm.provider "Virtualbox" do |vb|
            vb.name = "m-k8s"
            vb.customize ["modifyvm", :id, "--cpus", 1]
            vb.customize ["modifyvm", :id, "--memory", 1024]
        end
        cfg.vm.host_name = "m-k8s"
        cfg.vm.network "private_network", ip: "192.168.1.10"
        cfg.vm.network "forwarded_port", guest: 22, host: 60010, auto_correct: true, id: "ssh"
        cfg.vm.synced_folder "./data", "vagrant", disabled: true
    end

end
  • 저장 후 vagrant up 명령어를 실행합니다.
      vagrant up
    

    image

  • vagrant ssh 명령어를 실행하여 가상머신에 접속.

    image

2.2.2 가상 머신에 추가 패키지 설치하기

  • install_pkg.sh 작성
      #!/usr/bin/env bash
      # install packages
      yum install epel-release -y
      yum install vim-enhanced -y
    
  • 셀 프로비전 추가
      cfg.vm.provision "shell", path: "install_pkg.sh"
    
  • vagrant provision 명령어를 통해 스크립트 실행하여 패키지 설치
      vagrant provision
    

    image

2.2.3 가상 머신 추가로 구성하기

  • vagrantfile
    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    Vagrant.configure("2") do |config|
      (1..3).each do |i|
          config.vm.define "w#{i}-k8s" do |cfg|
              cfg.vm.box = "sysnet4admin/CentOS-k8s"
              cfg.vm.provider "virtualbox" do |vb|
                  vb.name = "w#{i}-k8s"
                  vb.customize ["modifyvm", :id, "--cpus", 1]
                  vb.customize ["modifyvm", :id, "--memory", 1024]
              end
              cfg.vm.host_name = "w#{i}-k8s"
              cfg.vm.network "private_network", ip: "192.168.1.1#{i}"
              cfg.vm.network "forwarded_port", guest: 22, host: "6010#{i}", auto_corrent: true, id: "ssh"
              cfg.vm.synced_folder "./data", "vagrant", disabled: true
              cfg.vm.provision "shell", path: "install_pkg.sh"
          end
      end
    end
    

2.3 터미널 프로그램으로 가상 머신 접속하기

  • 책에서는 푸티 또는 슈퍼푸티를 가이드하지만, 개인적으로 MobaXterm을 편하게 쓰고 있어, MobaXterm 기준으로 작성하였습니다.

2.3.1 MobaXterm 설치하기

  • MobaXterm 다운로드 페이지 접속

      https://mobaxterm.mobatek.net/download.html
    
  • Home Edition 무료 버전을 다운로드 [Download now] 클릭

    image

  • 저는 Portable 버전으로 다운로드 하겠습니다.

    image

  • 다운로드 받은 zip 파일 찾아 압축을 해제

    image

2.3.2 가상 머신 접속하기

  • MobaXterm 실행하여 좌측에서 우클릭 하여 [New Session] 클릭

  • local에 서버가 띄워져 있고, forwarded_port를 통해 포트포워딩을 했기 때문에 이전에 띄운 가성 머신에 포워딩 한 포트로 접속 할 수있습니다.
    IP: 127.0.0.1, PORT: 60010 을 입력하고 [OK] 클릭

    image

  • ID: root, PW: vagrant 입력 후 로그인하여 접속.