一、主機規劃
建立4台虛擬機器作為示範 Ansible 的環境,安裝作業系統為 CentOS 7.4。其中1台作為管理主機,其他3台作為被管理主機。IP及主機名稱分別為: IP 主機名稱 備忘 192.168.128.10 ansible-manager 管理主機 192.168.128.11 ansible-demo1 被管理主機1 192.168.128.12 ansible-demo2 被管理主機2 192.168.128.13 ansible-demo3 被管理主機3 二、安裝 Ansible
在管理主機上面使用 yum 安裝 Ansible。因為安裝 Ansible 需要 epel 源,這裡配置了阿里的 yum 源和 epel 源。
cd /etc/yum.repos.d/
yum源
vi CentOS-Base.repo
[base]name=CentOS-$releasever - Basemirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates[updates]name=CentOS-$releasever - Updatesmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful[extras]name=CentOS-$releasever - Extrasmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
epel源
vi epel.repo
[epel]name=Extra Packages for Enterprise Linux 7 - $basearchbaseurl=http://mirrors.aliyun.com/epel/7/$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
安裝 Ansible:
[root@ansible-manager ~]# yum install ansible
安裝完成,查看版本:
[root@ansible-manager ~]# ansible --versionansible 2.5.1 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
三、Ansible設定檔
安裝完畢,可以修改預設配置,一般不需要修改。
vi /etc/ansible/ansible.cfg
[defaults]# some basic default values...#inventory = /etc/ansible/hosts # 清單(Inventory)檔案的位置#library = /usr/share/my_modules/ # 存放 Ansible 模組的目錄#module_utils = /usr/share/my_module_utils/ #remote_tmp = ~/.ansible/tmp # 臨時檔案遠程主機存放目錄#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 # 是否需要sudo密碼#ask_pass = True # 是否要求輸入密碼#transport = smart#remote_port = 22 #指定串連被管理主機的管理連接埠,預設是22#module_lang = C#module_set_locale = False......
四、總結
本節介紹如何安裝 Ansible,以及 Ansible 配置參數的含義。下一節我們從一個簡單的命令開始,學習如何基於 Ansible 管理主機。
參考文檔:
http://www.ilurker.cn/?post=282
《Ansible自動化營運:技術與最佳實務》
《Ansible 權威指南》