Vagrantfile - 3 uygulama sunucularımda 4 sanal makinem ve bir Ansible kontrol ana bilgisayarım var.
Vagrant'ı sadece VM'leri oluşturmak için kullanıyorum, çünkü bunları hala ansible kontrol ana bilgisayarından sağladım çünkü hala ansible komut dosyalarını oluşturuyorum / düzenliyorum.
Yapabileceğim vagrant ssh ansible
ve vagrant ssh app1/2/3
vb ama yapmam çalıştığınızda ansible-playbook oracle.yml
yanıtlayıcı 'kontrol ana bilgisayardan, SSH ile başarısız
fatal: [192.168.60.10]: UNREACHABLE! => {"changed": false, "msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue", "unreachable": true}
Ansible VM'den Oracle VM'ye kullanıcı vagrant ve parola vagrant kullanarak başarılı bir şekilde ssh yapabilirim.
Vagrantfile'ımın temel kısımları:
config.ssh.insert_key = false
config.vm.define "db" do |db|
db.vm.box = "boxcutter/ol67"
db.vm.hostname = "oracle-vm"
db.vm.network "forwarded_port", guest: 22, host: 2201, id: "ssh", auto_correct: false
db.vm.network "forwarded_port", guest: 1521, host: 1521
db.vm.network "private_network", ip: "192.168.60.10"
db.vm.provider "virtualbox" do |v|
v.name = "oracle-vm"
v.linked_clone = true
v.memory = 2048
v.cpus = 2
end
end
#Optional ansible control machine for Windows users
config.vm.define "ansible", autostart: false do |ansible|
ansible.vm.box = "williamyeh/ansible"
ansible.vm.hostname = "ansible-vm"
ansible.vm.network "forwarded_port", guest: 22, host: 2204, id: "ssh", auto_correct: false
ansible.vm.network "private_network", ip: "192.168.60.50"
ansible.vm.provider "virtualbox" do |v|
v.linked_clone = true
end
#Mount the project directory on the guest so we can run the playbooks from there
ansible.vm.synced_folder ".", "/data/ansible", create: true
end
Ansible VM'nin daha sonra şifre veya ekstra manuel adım gerektirmeden diğer VM'lere bağlanmasına izin vermek için Vagrantdosyasına ne koymalıyım vagrant up
?
Bu, yalnızca geliştiricilerin bilgisayarlarında özel bir ağ üzerinde geliştirme testi içindir, bu nedenle güvenlik gerçekten bir sorun değildir ve uygulama kolaylığı ve sorunsuz kullanıcı deneyimi için ikinci sıradadır.