Ansible 是基於 python 開發、無代理、開源的、用於實現linux系統批次配置、程式部署、執行命令等功能的自動化運維工具,其主要依賴於模組進行工作。
原理介紹
其最大的優勢就是在於無代理模式,該模式能減少網路開銷,架構如下:
圖片來源於網路 侵刪
元件介紹
Ansible core 核心引擎
Host inventory :主機清單,定義被管主機,支援自定義動態主機清單和指定其他配置檔案的位置
Connection plugins :連線外掛,負責中央主機和被管理主機通訊,支援SSH連線被管理主機
Playbooks:劇本,一個劇本中可以有多個任務,任務能夠在多臺主機上自動執行
Core modules: 核心模組,資源分發並執行
Custom modules :自定義模組,用於完成模組功能的補充
ansible的工作流程
圖片來源於網路 侵刪
圖片來源於網路 侵刪
安裝
1、首先安裝epel源
[root@localhost Packages]# yum install https://dl。fedoraproject。org/pub/epel/epel-release-latest-7。noarch。rpm
2、安裝ansible
[root@localhost home]# yum install -y ansible
此處有報錯,提示需要python-Jinja2,OK,那就來安裝python-Jinja2
[root@localhost]#yum -y groupinstall “Development tools”[root@localhost]# yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget[root@localhost home]# wget http://mirror。centos。org/centos/7/os/x86_64/Packages/python-jinja2-2。7。2-2。el7。noarch。rpm[root@localhost home]# yum -y install python-jinja2-2。7。2-2。el7。noarch。rpm
再次執行 yum install -y ansible,可以看到已經成功了
配置檔案
ansible的配置檔案位於/etc/ansible,主要有3個
[root@localhost ansible]# lltotal 24-rw-r——r——。 1 root root 19980 Aug 16 16:54 ansible。cfg-rw-r——r——。 1 root root 1110 Sep 16 05:27 hostsdrwxr-xr-x。 2 root root 6 Aug 16 16:54 roles
下一篇,我們來詳細瞭解ansible的配置檔案,以及分享一些實際操作