==== Развёртка машин ====
структура проекта
📁 home
\---Vagrantfile
Развертываем 5 машин vagrant@127.0.0.1 с убунтой, с портами 2223..27 и паролем vagrant
**Vagrantfile**
Vagrant.configure("2") do |config|
(1..5).each do |i|
config.vm.define "server#{i}" do |web|
web.vm.box = "ubuntu/focal64"
web.vm.network "forwarded_port", id: "ssh", host: 2222 + i, guest: 22
web.vm.network "private_network", ip: "10.11.10.#{i}", virtualbox__intnet: true
web.vm.hostname = "server#{i}"
web.vm.provision "shell" do |s|
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
s.inline = <<-SHELL
echo #{ssh_pub_key}>> /home/vagrant/.ssh/authorized_keys
echo #{ssh_pub_key}>> /root/.ssh/authorized_keys
SHELL
end
web.vm.provider "virtualbox" do |v|
v.name = "server#{i}"
v.memory = 2048
v.cpus = 1
end
end
end
end
----
Развертываем 1 машину vagrant@127.0.0.1 с centos7, с портом 2228 и паролем vagrant
**Vagrantfile**
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network "forwarded_port", id: "ssh", host: 2228, guest: 22
config.vm.network "forwarded_port", id: "http", host: 8883, guest: 80
config.vm.network "private_network", ip: "10.11.10.8", virtualbox__intnet: true
config.vm.hostname = "server8"
config.vm.provision "shell" do |s|
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
s.inline = <<-SHELL
echo #{ssh_pub_key}>> /home/vagrant/.ssh/authorized_keys
SHELL
end
config.vm.provider "virtualbox" do |v|
v.name = "server8"
v.memory = 2048
v.cpus = 1
end
end
==== Развертывание серверов ====
Чтобы запустить установку, необходимо перейти в папку с файлом Vagrantfile и выполнить команду vagrant up
cd ./project
project$ ls
Vagrantfile
project$ vagrant up