Ansible:ansible.cfg

时间:2016-03-13 11:28:34

标签: ansible

我有this已知问题。所以我尝试修复它,但我没有看到我在哪里创建我的ansible.cfg(或它已经存在)?我在我的家庭目录中尝试过,但它仍然没有用。

sudo vi ~/.ansible.cfg

我读了很多关于/ etc / ansible的内容,但在我的系统上却没有。 我在Mac El Capitan。我使用pip安装了ansible。

ansible --version
ansible 1.9.4
  configured module search path = None

3 个答案:

答案 0 :(得分:8)

来自docs

  

可以在配置文件中进行更改,并按以下顺序处理:

     
      
  • ANSIBLE_CONFIG(环境变量)
  •   
  • ansible.cfg(在当前目录中)
  •   
  • .ansible.cfg(在主目录中)
  •   
  • /etc/ansible/ansible.cfg
  •   

我不确定这是否100%适用于1.9.4。 Ansible在编写文档时非常糟糕。 (=只有一个版本,并不总是提到引入或更改功能的版本)

但我确信除~/.ansible.cfg之外的所有内容都在1.x中运行,因为我之前已经尝试过。

因此,如果您创建了~/.ansible.cfg并且未使用它,请检查环境var ANSIBLE_CONFIG是否已设置,或者您调用ansible的目录中是否有一个文件。找到的第一个将被使用。 按以下顺序处理并不意味着它们将按该顺序合并。第一个获胜。

  

我读了很多关于/ etc / ansible的内容,但在我的系统上它并没有。

是的,这取决于Ansible的安装方式。如果它不在那里你就可以创建它,但如果你不需要它,就不需要创建它。我实际上删除了我,因为我觉得没用。

答案 1 :(得分:2)

对于最新版本(2.7.6),如果通过pip安装,则不会在/ etc中获得ansible文件夹。 所以这就是当您执行ansible --version

时得到的
ctrl.valid

但是一旦您在/ etc下将ansible手动创建目录并添加ansible.cfg文件,ansible便会自动检测到它。但是您必须手动配置其余部分,例如hosts file..etc。所以之后我们得到

ansible --version
ansible 2.7.6
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible

答案 2 :(得分:0)

使用点子时我得到了同样的东西。但是我认为更好的方法是根据您的操作系统使用apt或yum。 我有centOS,所以以下人员对我有用。

要获得适用于CentOS 7的Ansible,首先请确保已安装CentOS 7 EPEL存储库:

sudo yum install epel-release

一旦安装了存储库,请使用yum安装Ansible:

sudo yum install ansible

我们现在拥有通过Ansible管理服务器所需的所有软件。

参考:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ansible-on-centos-7