Инструменты пользователя

Инструменты сайта


linux:vagrant:create_virtual_machine

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
linux:vagrant:create_virtual_machine [2023/12/01 21:07]
werwolf создано
linux:vagrant:create_virtual_machine [2025/05/02 14:03] (текущий)
werwolf
Строка 1: Строка 1:
 ==== Развёртка машин ==== ==== Развёртка машин ====
-Развертываем 5 машин с убунтой,​ с портами 2223..27+ 
 +структура проекта 
 + 
 +<​code>​ 
 +📁 home 
 + ​\---Vagrantfile 
 +</​code>​ 
 + 
 +Развертываем 5 машин ​vagrant@127.0.0.1 ​с убунтой,​ с портами 2223..27 ​и паролем vagrant 
 + 
 +**Vagrantfile**
 <code ruby> <code ruby>
 Vagrant.configure("​2"​) do |config| Vagrant.configure("​2"​) do |config|
- (1..5).each do |i| +    ​(1..5).each do |i| 
- config.vm.define "​server#​{i}"​ do |web| +        config.vm.define "​server#​{i}"​ do |web| 
- web.vm.box = "​ubuntu/​focal64"​ +            web.vm.box = "​ubuntu/​focal64"​ 
- web.vm.network "​forwarded_port",​ id: "​ssh",​ host: 2222 + i, guest: 22 +            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.network "​private_network",​ ip: "​10.11.10.#​{i}",​ virtualbox__intnet:​ true 
- web.vm.hostname = "​server#​{i}"​+            web.vm.hostname = "​server#​{i}"​
  
- web.vm.provision "​shell"​ do |s| +            ​web.vm.provision "​shell"​ do |s| 
- ssh_pub_key = File.readlines("#​{Dir.home}/​.ssh/​id_rsa.pub"​).first.strip +                ssh_pub_key = File.readlines("#​{Dir.home}/​.ssh/​id_rsa.pub"​).first.strip 
- s.inline = <<​-SHELL +                s.inline = <<​-SHELL 
- echo #​{ssh_pub_key} >> /​home/​vagrant/​.ssh/​authorized_keys +                echo #​{ssh_pub_key}>>​ /​home/​vagrant/​.ssh/​authorized_keys 
- echo #​{ssh_pub_key} >> /​root/​.ssh/​authorized_keys +                echo #​{ssh_pub_key}>>​ /​root/​.ssh/​authorized_keys 
- SHELL +                SHELL 
- end+            end
  
- web.vm.provider "​virtualbox"​ do |v| +            ​web.vm.provider "​virtualbox"​ do |v| 
- v.name = "​server#​{i}"​ +                v.name = "​server#​{i}"​ 
- v.memory = 2048 +                v.memory = 2048 
- v.cpus = 1 +                v.cpus = 1 
- end +            end 
- end +        end 
- end+    end
 end end
  
 </​code>​ </​code>​
 +
 +----
 +
 +Развертываем 1 машину vagrant@127.0.0.1 с centos7, с портом 2228 и паролем vagrant
 +
 +**Vagrantfile**
 +<code ruby>
 +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
 +
 +</​code>​
 +==== Развертывание серверов ====
 +
 +Чтобы запустить установку,​ необходимо перейти в папку с файлом Vagrantfile и выполнить команду vagrant up
 +
 +<code bash>
 +cd ./project
 +project$ ls
 +Vagrantfile
 +
 +project$ vagrant up
 +</​code>​
 +
 +
 +
linux/vagrant/create_virtual_machine.1701454072.txt.gz · Последние изменения: 2023/12/01 21:07 — werwolf