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好。服務器

相關文章
相關標籤/搜索