मेरे Vagrantfile में 4 VMs हैं - 3 एप्लिकेशन सर्वर और एक Ansible कंट्रोल होस्ट।
मैं केवल वीएएसटी बनाने के लिए वैग्रंट का उपयोग करता हूं क्योंकि मैं उन्हें मैन्युअल रूप से एंसिबल कंट्रोल होस्ट से प्रावधान करता हूं क्योंकि मैं अभी भी एसिबल स्क्रिप्ट का निर्माण / संपादन कर रहा हूं।
मैं कर सकता हूं vagrant ssh ansible
और vagrant ssh app1/2/3
इत्यादि, लेकिन जब मैं ansible-playbook oracle.yml
Ansible control host से करने की कोशिश करता हूं , तो SSH असफल हो जाता है
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}
मैं उपयोगकर्ता वीआरएन और पासवर्ड योनि का उपयोग करके वीएमएल वीएम से ओरेकल वीएम से सफलतापूर्वक एसएचएस कर सकता हूं।
मेरे Vagrantfile के प्रमुख भाग हैं:
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
पासवर्ड या अतिरिक्त मैनुअल स्टेप्स की आवश्यकता के बिना ऐसिमिबल वीएम को दूसरे वीएम से कनेक्ट करने की अनुमति देने के लिए मुझे वग्रांटफाइल में क्या डालने की आवश्यकता है vagrant up
?
यह डेवलपर्स पीसी पर एक निजी नेटवर्क पर विकास परीक्षण के लिए है, इसलिए सुरक्षा वास्तव में एक मुद्दा नहीं है और कार्यान्वयन और सहज उपयोगकर्ता अनुभव को आसान बनाने के लिए दूसरे स्थान पर आता है।