目錄
- 一:ansible介紹
- 二:ansible特性
- 三:ansible環境部署
- 3.1:ansible作業模式
- 3.2:ansible安裝
- 3.3: ansible 配置
- 3.3.1: ansible 主機清單
一:ansible介紹
- Ansible 是個與 Puppet, SaltStack, Chef 并駕齊驅的組態設定 (Infrastructure as Code) 工具,其簡單易用的特性讓人愛不釋手,在 DevOps 界更佔有一席之地,
- Ansible 提供一種最簡單的方式用于發布、管理和編排計算機系統的工具,你可在數分鐘內搞定,
- Ansible 是一個模型驅動的配置管理器,支持多節點發布、遠程任務執行,默認使用 SSH 進行遠程連接,無需在被管理節點上安裝附加軟體,可使用各種編程語言進行擴展,
二:ansible特性
- 擁有模塊化的設計,Ansible能夠呼叫特定的模塊來完成特定任務 ,本身是核心組件,短小精悍
- Ansible是基于Python語言實作的,由Paramiko (python 的一個可并發連接 ssh 主機功能庫 ) , PyYAML和Jinja2 ( 模板化 ) 三個關鍵模塊實作
- Ansible的部署比較簡單,agentless 無客戶端工具
- 以主從模式作業
- 支持自定義模塊功能
- 支持playbook劇本,連續任務按先后設定順序完成
三:ansible環境部署
3.1:ansible作業模式
當 Control Machine (主控端) 可以用 SSH 連上 Managed node,且被連上的機器里有預載 Python 時,Ansible 就可以運作了!

- Control Machine 指的是我們主要在上面操作 Ansible 的機器
- Managed node 則是被 Ansible 操縱的機器
3.2:ansible安裝
我們只需在 Control Machine 里安裝 Ansible 即可
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install ansible
3.3: ansible 配置
安裝好 Ansible 后,我們可以在 /etc/ansible/ 的目錄底下找到 Ansible 的組態檔(ansible.cfg),
[root@localhost ansible]# pwd
/etc/ansible
[root@localhost ansible]# ll
total 24
-rw-r--r-- 1 root root 19985 Oct 8 01:35 ansible.cfg
-rw-r--r-- 1 root root 1016 Oct 8 01:35 hosts
drwxr-xr-x 2 root root 6 Oct 8 01:35 roles
[root@localhost ansible]# cat ansible.cfg
inventory = /etc/ansible/hosts #這個引數表示資源清單inventory檔案的位置
library = /usr/share/ansible #指向存放Ansible模塊的目錄,支持多個目錄方式,只要用冒號(:)隔開就可以
forks = 5 #并發連接數,默認為5
sudo_user = root #設定默認執行命令的用戶
remote_port = 22 #指定連接被管節點的管理埠,默認為22埠,建議修改,能夠更加安全
host_key_checking = False #設定是否檢查SSH主機的密鑰,值為True/False,關閉后第一次連接不會提示配置實體
timeout = 60 #設定SSH連接的超時時間,單位為秒
log_path = /var/log/ansible.log #指定一個存盤ansible日志的檔案(默認不記錄日志)
3.3.1: ansible 主機清單
inventory 就單詞本身有詳細目錄、清單和串列的意思,
在這里我們可以把它當成是一份主機串列,我們可通過它定義每個 Managed Node 的代號、IP 位址和群組資訊,
#定義一個主機組[組名]把地址或主機名加進去
[test]
10.159.232.1
10.159.232.233
10.159.232.234
批量執行命令"pwd"
[root@localhost ansible]# ansible test -m command -a "pwd"
10.159.232.233 | CHANGED | rc=0 >>
/root
10.159.232.1 | CHANGED | rc=0 >>
/root
10.159.232.234 | CHANGED | rc=0 >>
/root
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/218846.html
標籤:其他
上一篇:Shell腳本(三)
下一篇:shell腳本案例(初級)
