mage Ansible学习3 ansible role实例

1、ansible配置文件解析node

  一、/etc/ansible/ansible.cfg配置文件详解python

[root@node3 ~]# cat /etc/ansible/ansible.cfg |grep -Ev "^#|^$"
[defaults] #默认配置,对全部应用程序都生效
roles_path    = /etc/ansible/roles:/usr/share/ansible/roles
[inventory]
[privilege_escalation] #默认登录时使用的普通用户,当须要作一些管理配置时就须要将其转换成另一个拥有特权的管理用户
[paramiko_connection] #python应用程序使用指定库链接各目标主机时使用的选项
[ssh_connection]
[persistent_connection]
[accelerate]
[selinux]
[colors] #显示的颜色
[diff]

  二、那么ansible所用的操做何时才会被执行呢?在ansible主机上由管理员手动执行ansible playbook,这样全部的被管控的主机才能测试其是否处于目标状态,若是没有处于目标状态则强制其处于目标状态,若是说咱们的目标主机不幸被别人手动修改了怎么办呢?好比有人一不当心给其程序包卸载了,服务中止了,配置文件删除了等,此时咱们就只有从新执行一遍咱们的playbook才能确保其生效,那么何时从新执行呢?linux

    a、若是有必要的话能够把ansible的 playbook定义成计划任务,每隔半小时执行一次,因此目标主机即使是不行的被别人有意或无心的修改了 ansible的playbook的自动执行都能确保他们处于目标状态。git

    b、可是若是咱们客户端主机之上指望本身来检查ansible playbook中所定义的角色和本身相关的配置是否匹配又该怎么办呢?在咱们ansible2.0后的功能是支持刚刚所说的功能的。在每个被管控主机端只须要安装上ansible,有一个命令叫ansible-pull,他可以链接至ansible服务器获取与本身相关的配置内容并应用于本地。  github

    c、ansible-vcs:咱们使用ansible-vcs的方式能够实现ansible的pull机制,那么他是什么呢?你能够理解为他就是ansible对应的各playbook经过某个套接字提供服务的某个配置。对应文件为https://github.com/andrewrothstein/ansible-vcs/blob/master/tasks/main.yml,若是真的用到这个模型的时候应该是用salt或puppet好。服务器

相关文章
相关标签/搜索