Ansible 是一個開源的配置管理工具,我們用于自動化任務(wù)浓若、部署應(yīng)用程序渺杉。使用 Ansible,您可以自動執(zhí)行日常任務(wù)挪钓,例如更新系統(tǒng)是越、安裝軟件、和配置服務(wù)碌上。
本文將介紹Ansible基本信息倚评、為什么選擇 Ansible 以及如何安裝它。
基本信息
學(xué)習(xí)之前馏予,我們先了解一下常用Ansible術(shù)語:
節(jié)點(diǎn)信息
Control node: 任何安裝了 Ansible 的主機(jī)天梧。Ansible 控制節(jié)點(diǎn)主要用于在托管主機(jī)上運(yùn)行任務(wù)。
Managed nodes: 被Ansible管理的主機(jī)
Inventory: 受控節(jié)點(diǎn)的列表霞丧。
ansible.cfg: Ansible的配置文件
模塊
模塊是 Ansible 以執(zhí)行常見任務(wù)的代碼塊呢岗,Ansible中有豐富的模塊。
Task和Playbook
Task是 Ansible 在受控主機(jī)上執(zhí)行的操作。還可以使用臨時命令(AD-HOC)執(zhí)行單個任務(wù)敷燎。Ansible playbook 是用 YAML 編寫任務(wù)列表暂筝。
為什么使用Ansible?
無需安裝agent
與 Chef 和 Puppet 不同箩言,Ansible 是無代理的硬贯,這意味著你不必?fù)?dān)心在受控節(jié)點(diǎn)上安裝或配置任何包。由于 Ansible 不會在受控節(jié)點(diǎn)上安裝任何軟件或運(yùn)行守護(hù)程序陨收,因此對于如何升級 Ansible 毫無疑問饭豹。
Ansible 使用 SSH 進(jìn)行通信
Ansible 默認(rèn)使用 SSH 協(xié)議在控制節(jié)點(diǎn)和受控節(jié)點(diǎn)之間進(jìn)行通信。然后务漩,Ansible 可以使用 SFTP 與其托管節(jié)點(diǎn)進(jìn)行安全通信拄衰,以實(shí)現(xiàn)安全的文件傳輸。
Ansible 并行執(zhí)行任務(wù)
Ansible 與受控節(jié)點(diǎn)并行通信饵骨,使其能夠更快地運(yùn)行自動化任務(wù)翘悉。默認(rèn)情況下,forks 值為 5居触,但可以在配置文件中更改此值妖混。
安裝Ansible
我創(chuàng)建了一個名為 Master 的控制節(jié)點(diǎn)和四個受控節(jié)點(diǎn)(node1、node2轮洋、node3 和 node4)制市,它們都運(yùn)行Centos8。
Ansible 可以安裝在任何機(jī)器上弊予,但對控制節(jié)點(diǎn)有要求祥楣。控制節(jié)點(diǎn)應(yīng)安裝 Python 2 (2.7) 或 Python 3(3.5 或更高版本)汉柒。不支持 Windows 控制節(jié)點(diǎn)误褪。
下面在Master控制節(jié)點(diǎn)中使用dnf包管理器來安裝ansible:
[root@Master ~]# yum -y install epel-release && yum -y install ansible
可以檢查一下已安裝的 Ansible 版本:
http://www.cctime.com/html/2022-7-15/1624162.htm
http://www.citnews.com.cn/news/202208/147996.html
https://www.csdn.net/article/2022-08-22/126463414
https://www.51cto.com/it/news/2022/1008/34753.html
[root@Master ~]# ansible --version
ansible 2.9.27
? config file = /etc/ansible/ansible.cfg
? configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
? ansible python module location = /usr/lib/python3.6/site-packages/ansible
? executable location = /usr/bin/ansible
? python version = 3.6.8 (default, Oct? 7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]
通過ansible --version可以看到ansible的版本為:ansible 2.9.27,配置文件位置在/etc/ansible/ansible.cfg碾褂。下一篇文章介紹如何配置ansible振坚。