테스트 환경 설정-실습

JEONGYUJIN·5일 전
1

실습 오랜만입니다...

1단계: 기본 환경 설정

생각보다 설치할게 많고요, 일단은 맥북이 실습할 때 에러가 적습니다.
암튼 전 말했고요 바로 시작할게요
1. VirtualBox 설치
- VirtualBox 웹사이트에서 운영체제에 맞는 설치 파일 다운로드 (옵션은 그냥 기본 옵션하면 됨)

  1. Vagrant 설치

    - [Vagrant 웹사이트](https://www.vagrantup.com/downloads.html)에서 운영체제에 맞는 설치 파일 다운로드
    - 설치 후 **시스템 재시작**
  2. PuTTY 설치
    - PuTTY 웹사이트에서 설치 파일 다운로드
    - 설치 완료 후 PuTTY 실행하여 정상 작동 확인


2단계: 첫 번째 가상 머신 생성

  1. 작업 폴더 생성

    • 원하는 위치에 새 폴더 생성 (예: C:\vagrant-test)
    • 명령 프롬프트/터미널을 열고 해당 폴더로 이동: cd C:\vagrant-test
  2. Vagrantfile 생성

    • 폴더에서 vagrant init ubuntu/bionic64 명령 실행 (Ubuntu 18.04 이미지 사용)
    • 생성된 Vagrantfile을 텍스트 편집기로 열기
  3. Vagrantfile 편집

    • 다음과 같이 파일 내용 수정:
    ruby
    [ ]
    
    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/bionic64"
      config.vm.provider "virtualbox" do |vb|
        vb.memory = "1024"
        vb.cpus = 1
      end
      config.vm.network "private_network", ip: "192.168.56.10"
    end
    
  4. 가상 머신 시작

    • vagrant up 명령 실행
    • 이미지 다운로드 및 가상 머신 생성/실행 진행
  5. 가상 머신 접속

    • vagrant ssh 명령으로 가상 머신에 접속
    • 리눅스 명령어 실행해보기 (예: ls, pwd, uname -a)
    • exit 명령으로 가상 머신 접속 종료

3단계: 자동 프로비저닝 추가

  1. 프로비저닝 스크립트 생성

    • 작업 폴더에 setup.sh 파일 생성:
    bash
    [ ]
    
    #!/bin/bash
    apt-get update
    apt-get install -y nginx
    systemctl start nginx
    systemctl enable nginx
    echo "Hello from Vagrant VM!" > /var/www/html/index.html
    
  2. Vagrantfile 수정

    • Vagrantfile에 프로비저닝 설정 추가:
    ruby
    [ ]
    
    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/bionic64"
      config.vm.provider "virtualbox" do |vb|
        vb.memory = "1024"
        vb.cpus = 1
      end
      config.vm.network "private_network", ip: "192.168.56.10"
      config.vm.provision "shell", path: "setup.sh"
    end
    
  3. 변경사항 적용

    • 가상 머신이 실행 중이면: vagrant provision 명령 실행
    • 가상 머신이 중지되었다면: vagrant up 명령 실행
  4. 웹 서버 동작 확인

    • 웹 브라우저에서 http://192.168.56.10 접속
    • "Hello from Vagrant VM!" 메시지 확인

4단계: 다중 가상 머신 구성

  1. 다중 VM Vagrantfile 생성

    • 새 작업 폴더 생성 (예: C:\vagrant-cluster)
    • 해당 폴더로 이동하여 아래 내용으로 Vagrantfile 생성:
    ruby
    [ ]
    
    Vagrant.configure("2") do |config|
      (1..3).each do |i|
        config.vm.define "node#{i}" do |node|
          node.vm.box = "ubuntu/bionic64"
          node.vm.hostname = "node#{i}"
          node.vm.network "private_network", ip: "192.168.56.#{10+i}"
        end
      end
    end
    
  2. 클러스터 시작

    • vagrant up 명령 실행
    • 세 개의 가상 머신이 모두 생성될 때까지 대기
  3. 특정 노드 접속

    • vagrant ssh node1 명령으로 첫 번째 노드에 접속
    • hostname 명령으로 호스트명 확인
    • exit 명령으로 접속 종료
  4. 네트워크 연결 확인

    • 노드1에 접속: vagrant ssh node1
    • 다른 노드 ping 테스트: ping -c 3 192.168.56.12
    • 호스트명으로 ping 테스트를 위해 /etc/hosts 편집:
      [ ]
      
      sudo sh -c 'echo "192.168.56.11 node1" >> /etc/hosts'
      sudo sh -c 'echo "192.168.56.12 node2" >> /etc/hosts'
      sudo sh -c 'echo "192.168.56.13 node3" >> /etc/hosts'
      
    • 호스트명으로 ping 테스트: ping -c 3 node2

5단계: SuperPuTTY로 다중 접속

  1. SuperPuTTY 설치
    • SuperPuTTY GitHub에서 설치 파일 다운로드
    • 설치 과정에서 PuTTY 실행 파일 위치 지정
  2. 세션 디렉터리 생성
    • SuperPuTTY 실행
    • [Session] → [New Directory] 메뉴로 "VagrantCluster" 디렉터리 생성
  3. 세션 추가
    • 각 노드별 세션 추가:
      • 노드1: 호스트 - 192.168.56.11, 포트 - 22, 사용자명 - vagrant
      • 노드2: 호스트 - 192.168.56.12, 포트 - 22, 사용자명 - vagrant
      • 노드3: 호스트 - 192.168.56.13, 포트 - 22, 사용자명 - vagrant
    • 비밀번호에는 "vagrant" 입력 (기본 비밀번호)
  4. 다중 접속
    • "VagrantCluster" 디렉터리 선택
    • [Connect All] 버튼 클릭
    • 모든 노드에 동시 접속 확인
  5. 클러스터 종료
    • 작업 완료 후 작업 폴더에서 vagrant halt 명령으로 모든 VM 종료
    • 필요 없는 경우 vagrant destroy 명령으로 VM 삭제

가상 환경 구축부터 자동화, 다중 VM 관리, 원격 접속까지 컨테이너 테스트 환경의 전체 워크플로우를 경험해볼 수 있습니다.

profile
일단 하고 보자 (펠리컨적 마인드 ㅠㅠ)

0개의 댓글

관련 채용 정보