1、安裝
yum install epel-release -y
yum install ansible -y
2、ansible 配置檔案
ansible 配置檔案/etc/ansible/ansible.cfg(一般保持預設)
[defaults]
#inventory = /etc/ansible/hosts #主機列表配置檔案
#library = /usr/share/my_modules/ #庫檔案存放目錄
#module_utils = /usr/share/my_module_utils/
#remote_tmp = ~/.ansible/tmp #臨時py命令存放在遠端主機目錄
#local_tmp = ~/.ansible/tmp #本機的臨時命令執行目錄
#plugin_filters_cfg = /etc/ansible/plugin_filters.yml
#forks = 5 #預設併發資料
#poll_interval = 15
#sudo_user = root #預設sudo使用者
#ask_sudo_pass = true #每次執行ansible命令是否詢問ssh密碼
#ask_pass = true
#transport = smart
#remote_port = 22
#module_lang = c
#module_set_locale = false
#host_key_checking = false #檢查對應伺服器的host_key,建議取消注釋
#log_path = /var/log/ansible.log #日誌檔案
3、ansible幫助模組
ansible-doc -l #列出可用模組
ansible-doc ping #檢視模組幫助
ansible-doc -s ping #檢視模組簡化說明
6、ansible 命令執行過程
1)載入自己的配置檔案預設/etc/ansible/ansible.cfg
2)載入自己對應的模組檔案,如command
3)通過ansible將模組或命令生成對應的臨時py檔案,並將該檔案傳輸至遠端伺服器的對應
執行使用者$home/.ansible/tmp/ansible-tmp-數字/***.py檔案
4)給檔案+x執行
5)執行並返回結果
6)刪除臨時py檔案,sleep 0退出
執行狀態
綠色:執行成功並且不需要做改變的操作
黃色:執行成功並且對目標主機做變更
紅色:執行失敗
playbook 常用一些模組
hosts:主機組
gather_facts: no #不收集裝置資訊
vars: 定義變數
template: src=/srv/httpd.j2 dest=/etc/httpd.conf # 複製模板到主機,httpd.j2檔案允許使用變數
handlers: 觸發器,當配置變動時執行配合notify
shell: #執行shell命令
register:將輸出的結果做為變數,以供其他地方呼叫
yum:包管理工具
service:服務管理
when: 條件語句
with_items: 變數迴圈
roles:定義模組化
debug: msg="hello"#輸出日誌到/var/log/ansible.log
tags:給模組打標可以單獨執行某一些模組
修改檔案內容
- name: seline modify enforcing
lineinfile:
dest: /etc/selinux/config
regexp: '^selinux='
line: 'selinux=enforcing'
ansible中文權威指南
使用 Ansible 編譯和安裝 nagios
我已經建立了乙個冪等的 ansible playbook,從原始碼安裝並且在 ubuntu 14.04 lts,debian 7.5 和 centos 6.5 平台測試了,這個 playbook 與 nelmon 在一起。一旦 playbook 執行,ansible 將 這些給你乙個基礎的 nagi...
ansible介紹和安裝
ansible是由 python 編寫的強大的配置管理解決方案,ansible 的特點就在於它的簡潔與高效率 ansible與其他的配置管理工具不同點在於 不需要你在想要配置的每個節點上安裝自己的元件,也就是說,ansible管理各個節點不需要依賴於agent端 一 ansible 入門 官網 官方...
使用 Ansible 安裝部署 TiDB
tidb 作為乙個分布式資料庫,在多個節點分別配置安裝服務會相當繁瑣,為了簡化操作以及方便管理,使用自動化工具來批量部署成為了乙個很好的選擇。ansible 是基於 python 研發的自動化運維工具,糅合了眾多老牌運維工具的優點實現了批量作業系統配置 批量程式的部署 批量執行命令等功能,而且使用簡...