배포 후, 아래 리눅스 인프라를 구축합니다.

KOSA_세미프로젝트_리눅스 인프라 구축-20240507

Untitled

1. 여러대의 VM 배포

아래 vagrantfile을 사용해 여러대의 VM을 배포합니다

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.define "WP-LB01" do |config|
    config.vm.box = "rockylinux/9"
    config.vm.network "private_network", ip: "192.168.56.10"
    config.vm.network "private_network", ip: "192.168.57.10"
    config.vm.synced_folder ".", "/vagrant", disabled: true
    config.vm.provider "virtualbox" do |vb|
      vb.memory = "2048"
      vb.cpus = 2
      vb.name = "WP-LB01"
    end
    config.vm.hostname = "WP-LB01"
  end

  config.vm.define "WP-WEB01" do |config|
    config.vm.box = "rockylinux/9"
    config.vm.network "private_network", ip: "192.168.57.11"
    config.vm.network "private_network", ip: "192.168.58.11"
    config.vm.synced_folder ".", "/vagrant", disabled: true
    config.vm.provider "virtualbox" do |vb|
      vb.memory = "2048"
      vb.cpus = 2
      vb.name = "WP-WEB01"
    end
    config.vm.hostname = "WP-WEB01"
  end

  config.vm.define "WP-WEB02" do |config|
    config.vm.box = "rockylinux/9"
    config.vm.network "private_network", ip: "192.168.57.12"
    config.vm.network "private_network", ip: "192.168.58.12"
    config.vm.synced_folder ".", "/vagrant", disabled: true
    config.vm.provider "virtualbox" do |vb|
      vb.memory = "2048"
      vb.cpus = 2
      vb.name = "WP-WEB02"
    end
    config.vm.hostname = "WP-WEB02"
  end

  config.vm.define "WP-DB01" do |config|
    config.vm.box = "rockylinux/9"
    config.vm.network "private_network", ip: "192.168.58.13"
    config.vm.synced_folder ".", "/vagrant", disabled: true
    config.vm.provider "virtualbox" do |vb|
      vb.memory = "2048"
      vb.cpus = 2
      vb.name = "WP-DB01"
    end
    config.vm.hostname = "WP-DB01"
  end

end

vagrant up

2. 스크립트 사용하기

vagrant로 VM을 생성하면서 스크립트를 통해 필요한 작업을 수행할 수 있습니다

script는 vagrantFile과 같은 디렉토리에 있으므로 path에 script.sh만 명시해줍니다

웹 서버 배포

vagrant file

Vagrant.configure("2") do |config|

  config.vm.define "WP-WEB01" do |config|
    config.vm.box = "rockylinux/9"
    config.vm.network "private_network", ip: "192.168.57.11"
    config.vm.synced_folder ".", "/vagrant", disabled: true
    config.vm.provider "virtualbox" do |vb|
      vb.memory = "2048"
      vb.cpus = 2
      vb.name = "WP-WEB01"
    config.vm.provision "shell", path: "script.sh"
    end
    config.vm.hostname = "WP-WEB01"
  end
end

script.sh