multi-machine
виявляється, все передбачено. додаємо преконфігурацію приватної мережі зі статичними адресами та переадресування портів — і маємо Vagrantfile (див. далі), який піднімає дві «коробки»:- server (192.168.8.1, порт 22 <- 8122 на хості)
- ansible (192.168.8.2, порт 22 <- 8222 на хості)
vagrant ssh <назва>
або
ssh vargant@127.0.0.1 -p 8x22 -i .\.vagrant\machines\<назва>\virtualbox\private_key
інфраструктура як код
тут x — 1 або 2, а <назва> — server або ansible, див. Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.define "server" do |server|
server.vm.box = "debian/stretch64"
server.vm.network "private_network", ip: "192.168.8.1"
server.vm.network :forwarded_port, guest: 22, host: 8122
server.vm.provision :shell, inline: "Machine «server» is up..."
end
config.vm.define "ansible" do |ansible|
ansible.vm.box = "debian/stretch64"
ansible.vm.network "private_network", ip: "192.168.8.2"
ansible.vm.network :forwarded_port, guest: 22, host: 8222
ansible.vm.provision :shell, inline: "Machine «ansible» is up..."
end
end
трохи чітерства і питання
імена машин (hostname) я міняв руками на ті ж таки server та ansible вже через ssh:(sudo) hostnamectl set-hostname <назва>
але як це зробити vagrant'ом на етапі створення машини? мої тестові рядки provision, здається, не працюють як слід — не впетраю, чому. хтось підкаже?