Tôi có 4 máy ảo trong Vagrantfile - 3 máy chủ ứng dụng và máy chủ điều khiển Ansible.
Tôi chỉ sử dụng Vagrant để tạo VM khi tôi cung cấp chúng theo cách thủ công từ máy chủ điều khiển ansible vì tôi vẫn đang tạo / chỉnh sửa các tập lệnh ansible.
Tôi có thể làm vagrant ssh ansible
và vagrant ssh app1/2/3
vv nhưng khi tôi cố gắng thực hiện ansible-playbook oracle.yml
từ máy chủ điều khiển Ansible, SSH không thành công với
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}
Tôi có thể ssh thành công từ máy ảo Ansible sang máy ảo Oracle bằng cách sử dụng mật khẩu và mật khẩu người dùng.
Các phần chính của Vagrantfile của tôi là:
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
Tôi cần đặt gì vào Vagrantfile để cho phép VM Ansible kết nối với các VM khác mà không yêu cầu mật khẩu hoặc các bước thủ công bổ sung sau vagrant up
?
Đây chỉ là để thử nghiệm phát triển trên một mạng riêng trên các nhà phát triển PC nên bảo mật không thực sự là vấn đề và đứng thứ hai để dễ thực hiện và trải nghiệm người dùng trơn tru.