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 ansibleve vagrant ssh app1/2/3vb ama yapmam çalıştığınızda ansible-playbook oracle.ymlyanı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.