gpt4 book ai didi

macos - Mac OS X 上 Ansible 主机文件的存储位置

转载 作者:行者123 更新时间:2023-12-03 05:35:22 26 4
gpt4 key购买 nike

我正在尝试开始使用 Ansible 来配置我的 Vagrantbox,但我不知道如何处理主机文件。

根据文档,应该存储在 /etc/ansible/hosts 中,但我在我的系统 (Mac OS X) 上找不到它。我还看到了一些示例,其中 host.ini 文件位于与 vagrant 文件相邻的文档根目录中。

所以我的问题是你将在哪里存储用于设置单个流浪盒的主机文件?

最佳答案

虽然 Ansible 默认情况下会尝试 /etc/ansible/hosts,但有多种方法可以告诉 ansible 在哪里查找备用 list 文件:

  • 使用-i命令行开关并传递您的 list 文件路径
  • ~/.ansible.cfg[defaults] 部分添加 inventory = path_to_hostfile configuration file
  • 按照 DomaNitro 在其回答中的建议使用 export ANSIBLE_HOSTS=path_to_hostfile

现在你不提是否要使用ansible provisionner available in vagrant ,或者如果您想手动配置您的流浪主机。

让我们首先使用 Vagrant ansible 配置器:

创建一个目录(例如test),并在里面创建一个Vagrant文​​件:

Vagrantfile:

Vagrant.configure("2") do |config|

config.vm.box = "precise64-v1.2"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"

config.vm.define :webapp do |webapp|
webapp.vm.hostname = "webapp.local"
webapp.vm.network :private_network, ip: "192.168.123.2"
webapp.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 200, "--name", "vagrant-docs", "--natdnshostresolver1", "on"]
end
end

#
# Provisionning
#
config.vm.provision :ansible do |ansible|
ansible.playbook = "provision.yml"
ansible.inventory_path = "hosts"
ansible.sudo = true
#
# Use anible.tags if you want to restrict what `vagrant provision`
# Here is a list of possible tags
# ansible.tags = "foo bar"
#
# Use ansible.verbose to see detailled output for ansible runs
# ansible.verbose = 'vvv'
#
# Customize your stuff here
ansible.extra_vars = {
some_var: 42,
foo: "bar",
}
end
end

现在,当您运行vagrant up(或vagrantprovion)时,Vangrant的ansibleprovionner将在同一目录中查找文件名hosts作为 Vagrantfile,并将尝试应用 provision.yml playbook。

您也可以手动运行它,而无需求助于 Vagrant 的 ansible 配置程序:

ansible-playbook -i hosts provision.yml --ask-pass --sudo

请注意,Vagrant+Virtualbox+Ansible 三人组并不总是相处融洽。有一些版本组合存在问题。如果遇到问题(尤其是网络问题),请尝试升级到最新版本。

{shameless_plug} 您可以找到一个更广泛的混合 vagrant 和 ansible 的示例 here {/无耻_插件}

祝你好运!

关于macos - Mac OS X 上 Ansible 主机文件的存储位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21958727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com