Vagrantfile에 3 개의 VM이 있으며 3 개의 응용 프로그램 서버와 Ansible 제어 호스트가 있습니다.
Ansible 스크립트를 작성 / 편집하고 있으므로 Vagrant를 사용하여 ansible 제어 호스트에서 수동으로 프로비저닝 할 때만 VM을 작성합니다.
내가 할 수있는 vagrant ssh ansible
및 vagrant ssh app1/2/3
등등하지만 내가하려고 할 때 ansible-playbook oracle.yml
Ansible 제어 호스트에서 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}
사용자 vagrant 및 password vagrant를 사용하여 Ansible VM에서 Oracle VM으로 성공적으로 ssh 할 수 있습니다.
내 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
Ansible VM이 비밀번호 나 추가 수동 단계없이 다른 VM에 연결할 수 있도록 Vagrantfile에 무엇을 넣어야 vagrant up
합니까?
이는 개발자 PC의 개인 네트워크에서 개발 테스트를위한 것이므로 보안은 실제로 문제가되지 않으며 구현의 용이성과 원활한 사용자 경험으로 이어집니다.