아래 폴더 구조를 사용하여 역할을 만들고로드하는 것처럼 보이지만 그룹 및 호스트 변수는로드되지 않습니다. 어째서?host_vars 및 group_vars가로드되지 않습니다.
을/etc/ansible/
- hosts
- requirements.yml
- group_vars/
- app/
- postgres.yml
- host_vars/
- app1/
- postgres.yml
- roles
/문서/ansible/
- playbook.yml
- vagrant
호스트 파일
# Application servers
[app]
192.168.60.6
# Group multi
[multi:children]
app
#variables applied to all servers
[multi:vars]
ansible_ssh_user=vagrant
ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key
** 방랑 ** 기본적으로
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# Genral Vagrant VM Configuration.
config.vm.box = "geerlingguy/centos7"
config.ssh.insert_key = false
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider :virtualbox do |v|
v.memory = 256
v.linked_clone = true
end
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
end
# Application server 1
config.vm.define "app1" do |app|
app.vm.hostname = "orc-app1.dev"
app.vm.network :private_network, ip: "192.168.60.6"
end
end
그래서'host_vars'와'group_vars'를 playbook.yml 폴더에 복사해야합니까? 그리고 내가 어떻게/etc/anants/hosts'를 가리켜 줘야합니까? –
내가 원하는 것을 모르기 때문에 나는 필요한 것을 모른다. 첫눈에, Vagrant 프로젝트를 위해 글로벌 인벤토리 파일을 사용하는 것은 이치에 맞지 않지만, 아마도 당신 자신의 이유가있을 것입니다. 나는 두 번째 질문에 대해서도 확신하지 못한다. 나는 답안에서 그 설정의 이름을 주었다. 단지 그것을 사용하는 것의 문제점은 무엇인가? – techraf
그리고'group_vars'를 그대로 복사하더라도, Vagrant는'app'가 무엇인지 전혀 모른다. 'Vagrantfile'에'app1'을 정의했기 때문에'app1'을'host_vars'에서 가져옵니다. 자동 생성 된 인벤토리에는 반영되지만'app'에는 반영되지 않습니다. – techraf