This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
технология_vagrant [2022/08/17 15:16] val |
технология_vagrant [2022/09/22 11:14] val [Provision с использованием ansible] |
||
---|---|---|---|
Line 11: | Line 11: | ||
===== Установка ===== | ===== Установка ===== | ||
- | * [[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]] |
+ | * Можно не перезагружать систему, но нужно перезапустить Cmder | ||
===== Подготовка командной строки ===== | ===== Подготовка командной строки ===== | ||
- | ==== win cmd === | ||
- | <code> | ||
- | C:\Users\Administrator> C:\HashiCorp\Vagrant\bin\vagrant.exe | ||
- | </code> | ||
==== Cmder ==== | ==== Cmder ==== | ||
* [[Cmder]] | * [[Cmder]] | ||
- | |||
<code> | <code> | ||
- | λ alias vagrant=C:\HashiCorp\Vagrant\bin\vagrant.exe $* | ||
- | |||
λ bash | λ bash | ||
- | $ alias vagrant=C:/\HashiCorp/\Vagrant/\bin/\vagrant.exe $* | + | λ cd |
- | или | + | |
- | $ alias vagrant=/c/HashiCorp/Vagrant/bin/vagrant.exe | + | |
</code> | </code> | ||
- | ==== mobaxterm ==== | + | |
- | <code> | + | |
- | mobaxterm> alias vagrant=/drives/c/HashiCorp/Vagrant/bin/vagrant.exe $* | + | |
- | </code> | + | |
Line 45: | Line 34: | ||
* [[https://oracle-base.com/articles/vm/create-a-vagrant-base-box-virtualbox|Create a Vagrant Base Box (VirtualBox)]] + [[https://bbs.archlinux.org/viewtopic.php?id=270005|[SOLVED] Latest sshd not accepting key algorithms]] | * [[https://oracle-base.com/articles/vm/create-a-vagrant-base-box-virtualbox|Create a Vagrant Base Box (VirtualBox)]] + [[https://bbs.archlinux.org/viewtopic.php?id=270005|[SOLVED] Latest sshd not accepting key algorithms]] | ||
* [[https://vagrantcloud.com/debian/bullseye64]] | * [[https://vagrantcloud.com/debian/bullseye64]] | ||
+ | |||
+ | * [[https://val.bmstu.ru/unix/HashiCorp/ubuntu_20.04.box]] | ||
+ | |||
+ | * [[Переменные окружения]] | ||
+ | * [[https://stackoverflow.com/questions/19872591/how-to-use-vagrant-in-a-proxy-environment|How to use vagrant in a proxy environment?]] | ||
<code> | <code> | ||
Line 58: | Line 52: | ||
$ vagrant box list | $ vagrant box list | ||
+ | |||
+ | $ ### vagrant box remove specialist/ubuntu20 | ||
</code> | </code> | ||
Line 80: | Line 76: | ||
$ vagrant global-status | $ vagrant global-status | ||
- | $ vagrant halt | + | $ vagrant global-status --prune |
+ | |||
+ | $ ### vagrant halt | ||
- | $ vagrant destroy | + | $ ### vagrant destroy |
</code> | </code> | ||
Line 165: | Line 163: | ||
<code> | <code> | ||
- | λ npp provision_once.sh & | + | λ touch provision_once.sh |
</code><code> | </code><code> | ||
- | #sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config | ||
#echo 'root:strongpassword' | chpasswd | #echo 'root:strongpassword' | chpasswd | ||
+ | #sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config | ||
+ | #service ssh restart | ||
echo 'vagrant:strongpassword' | chpasswd | echo 'vagrant:strongpassword' | chpasswd | ||
+ | |||
+ | (echo '"\e[A": history-search-backward'; echo '"\e[B": history-search-forward') >> /etc/inputrc | ||
timedatectl set-timezone Europe/Moscow | timedatectl set-timezone Europe/Moscow | ||
- | apt-get update | + | apt update |
- | #apt-get install -y net-tools | + | #apt install -y docker.io |
</code><code> | </code><code> | ||
- | λ npp provision_onstart.sh & | + | λ touch provision_onstart.sh |
</code><code> | </code><code> | ||
X=$1 | X=$1 | ||
Line 193: | Line 194: | ||
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/20-my-forward.conf && sysctl -p --system | echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/20-my-forward.conf && sysctl -p --system | ||
</code><code> | </code><code> | ||
- | λ npp Vagrantfile | + | λ cat Vagrantfile |
</code><code> | </code><code> | ||
... | ... | ||
Line 199: | Line 200: | ||
config.vm.provision "provision_once", type: "shell", run: "once", path: "provision_once.sh" | config.vm.provision "provision_once", type: "shell", run: "once", path: "provision_once.sh" | ||
+ | |||
config.vm.provision "provision_onstart", type: "shell", run: "always", | config.vm.provision "provision_onstart", type: "shell", run: "always", | ||
args: X + " 2_arg 3_arg", | args: X + " 2_arg 3_arg", | ||
Line 218: | Line 220: | ||
λ cat Vagrantfile | λ cat Vagrantfile | ||
... | ... | ||
- | config.vm.provision "provision_docker", type: "ansible_local", run: "always" do |ansible| | + | config.vm.provision "provision_docker", type: "ansible_local", run: "once" do |ansible| |
ansible.playbook = "provision_docker.yml" | ansible.playbook = "provision_docker.yml" | ||
end | end | ||
Line 232: | Line 234: | ||
<code> | <code> | ||
- | λ mkdir ~/nodes | + | λ vagrant destroy |
- | λ cd ~/nodes | + | λ touch nodes.yaml |
- | + | ||
- | λ npp nodes.yaml & | + | |
</code><code> | </code><code> | ||
- name: "node1" | - name: "node1" | ||
Line 276: | Line 276: | ||
... | ... | ||
</code><code> | </code><code> | ||
+ | λ ### cd ~/conf/vagrant/nodes #!!! set X in Vagrantfile | ||
+ | |||
λ vagrant up node1 | λ vagrant up node1 | ||
λ vagrant up | λ vagrant up | ||
+ | |||
+ | λ vagrant up --parallel | ||
λ vagrant ssh node2 | λ vagrant ssh node2 | ||
- | λ vagrant destroy node3 | + | λ ### vagrant destroy node1 |
- | λ vagrant destroy -f | + | λ ### vagrant destroy -f |
</code> | </code> | ||