User Tools

Site Tools


технология_vagrant

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
технология_vagrant [2023/01/25 07:12]
val [Внутри Vagrantfile]
технология_vagrant [2024/04/09 11:16]
val [Multi-Machine Vagrant Environments]
Line 11: Line 11:
  
 ===== Установка ===== ===== Установка =====
 +
 +  * [[https://​hashicorp-releases.yandexcloud.net/​vagrant/​]]
  
   * [[https://​val.bmstu.ru/​unix/​HashiCorp/​vagrant_2.2.10_x86_64.msi]] ​   * [[https://​val.bmstu.ru/​unix/​HashiCorp/​vagrant_2.2.10_x86_64.msi]] ​
 +  * [[http://​gate.isp.un/​unix/​HashiCorp/​vagrant_2.2.10_x86_64.msi]] ​
   * Можно не перезагружать систему,​ но нужно перезапустить Cmder   * Можно не перезагружать систему,​ но нужно перезапустить Cmder
  
Line 37: Line 40:
  
   * [[https://​val.bmstu.ru/​unix/​HashiCorp/​ubuntu_20.04.box]]   * [[https://​val.bmstu.ru/​unix/​HashiCorp/​ubuntu_20.04.box]]
 +  * [[http://​gate.isp.un/​unix/​HashiCorp/​ubuntu_20.04.box]]
  
   * [[Переменные окружения]]   * [[Переменные окружения]]
Line 72: Line 76:
  
 $ vagrant up $ vagrant up
 +
 +$ ssh -p 2222 student@localhost
  
 $ vagrant ssh $ vagrant ssh
Line 156: Line 162:
  
 end end
-</​code>​ +</​code><​code>​ 
-<​code>​+λ vagrant validate 
 λ vagrant up λ vagrant up
 ... ...
Line 178: Line 185:
 λ touch provision_once.sh λ touch provision_once.sh
 </​code><​code>​ </​code><​code>​
 +#!/bin/sh
 +
 #echo '​root:​strongpassword'​ | chpasswd #echo '​root:​strongpassword'​ | chpasswd
 #sed -i '​s/​PasswordAuthentication no/​PasswordAuthentication yes/g' /​etc/​ssh/​sshd_config #sed -i '​s/​PasswordAuthentication no/​PasswordAuthentication yes/g' /​etc/​ssh/​sshd_config
Line 193: Line 202:
 λ touch provision_onstart.sh λ touch provision_onstart.sh
 </​code><​code>​ </​code><​code>​
 +#!/bin/bash
 +
 X=$1 X=$1
  
-echo $X+echo "$X"
  
-route add default gw 192.168.$X.1+route add default gw 192.168."$X".1
  
-eval `route -n | awk '{ if ($8 =="​eth0"​ && $2 != "​0.0.0.0"​) print "route del default gw " $2; }'`+eval "$(route -n | awk '{ if ($8 =="​eth0"​ && $2 != "​0.0.0.0"​) print "route del default gw " $2; }')"
  
 chattr -i /​etc/​resolv.conf chattr -i /​etc/​resolv.conf
Line 221: Line 232:
 ... ...
 </​code><​code>​ </​code><​code>​
 +vagrant@node1:​~$ ls /vagrant/
 +
 +vagrant@node1:​~$ shellcheck /​vagrant/​provision_once.sh
 +vagrant@node1:​~$ shellcheck /​vagrant/​provision_onstart.sh
 +
 λ vagrant provision --provision-with provision_once,​provision_onstart λ vagrant provision --provision-with provision_once,​provision_onstart
  
 server# ssh vagrant@node1 server# ssh vagrant@node1
- 
-vagrant@node1:​~$ ls /vagrant/ 
 </​code>​ </​code>​
  
Line 298: Line 312:
  
 λ vagrant up λ vagrant up
 +
 +λ vagrant status
  
 λ vagrant ssh node2 λ vagrant ssh node2
 +
 +λ vagrant halt node2
  
 λ vagrant destroy node1 λ vagrant destroy node1
Line 307: Line 325:
 λ cd ~/​conf/​vagrant/​nodes λ cd ~/​conf/​vagrant/​nodes
  
-λ nano Vagrantfile ​  #!!! set X+λ nano Vagrantfile ​  #!!! set X and mem 1024
  
 λ cat provision_once.sh ​  # look passwords λ cat provision_once.sh ​  # look passwords
Line 316: Line 334:
 ===== Дополнительные возможности ===== ===== Дополнительные возможности =====
  
-==== Использование синхронизируемых каталогов ==== 
  
-<​code>​ 
-λ cat Vagrantfile 
-</​code><​code>​ 
-... 
-#  config.vm.synced_folder "​.",​ "/​vagrant",​ type: "​rsync",​ rsync__exclude:​ "​.git/"​ 
-... 
-</​code><​code>​ 
-λ npp SomeFile 
-... 
- 
-λ vagrant rsync 
- 
-λ vagrant ssh 
- 
-vagrant@node3:​~$ ls /vagrant/ 
-</​code><​code>​ 
-... 
-Vagrantfile 
-... 
-SomeFile 
-... 
-</​code>​ 
  
 ==== Еще варианты Multi-Machine Vagrant Environments ==== ==== Еще варианты Multi-Machine Vagrant Environments ====
технология_vagrant.txt · Last modified: 2024/04/09 16:59 by val