一.概念
簡介
Ansible是一個IT自動化工具。它能配置系統、部署軟體、編排更復雜的IT任務,如連續部署或零停機時間滾動更新。
連線其他主機(管理節點)預設使用ssh協議
特性
Agentless:不需要在被管理節點上安裝客戶端,只要有sshd即可
Serverless:在服務端不需要啟動任何服務,只需要執行命令就行
Modules in any language:基於模組工作,可以使用任意語言開發ansible模組
YAML, not code:使用yaml語言定製playbook
SSH by default:預設使用ssh控制各節點
Strong multi-tier solution:可實現多級控制
架構
核心:ansible
核心模組(Core Modules):這些都是ansible自帶的模組
擴充套件模組(Custom Modules):如果核心模組不足以完成某種功能,可以新增擴充套件模組
外掛(Plugins):完成模組功能的補充
劇本(Playbooks):把需要完成的多個任務定義在劇本中
連線外掛(Connectior Plugins):ansible基於連線外掛連線到各個主機上,雖然ansible是使用ssh連線到各個
主機的,但是它還支援其他的連線方法,所以需要有連線外掛
主機清單(Host Inventory):ansible在管理多臺主機時,可以選擇只對其中的一部分執行某些操作
工作機制
Ansible 在管理節點將 Ansible 模組透過 SSH 協議(或者 Kerberos、LDAP)推送到被管理端執行,
執行完之後自動刪除,可以使用版本控制系統(git/svn)來管理自定義模組及playbooks。
生成的主要檔案:
/etc/ansible
/etc/ansible/ansible.cfg #配置檔案
/etc/ansible/hosts #主機庫(host inventory)
/usr/bin/ansible #主程式
/usr/bin/ansible-doc #文件
/usr/bin/ansible-playbook #劇本
二.安裝
1.搭建倉庫
本地倉庫或者遠端倉庫
注意:搭建本地倉庫時
file:///mnt/ansible-image/ansible //檔案路徑要精確到ansible指定資料夾
2.yum安裝
# yum -y install ansible
# ansible --version //驗證