ansible是基于模塊工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括:
連接插件connection plugins:負責和被監(jiān)控端實現(xiàn)通信;
host inventory:指定操作的主機,是一個配置文件里面定義監(jiān)控的主機;
各種模塊核心模塊、command模塊、自定義模塊;
借助于插件完成記錄日志郵件等功能;
playbook:劇本執(zhí)行多個任務時,非必需可以讓節(jié)點一次性運行多個任務。
1.ansible部署
ansible 與saltstack功能大致相同,但是好的一點就是我們Ansible不需要客戶端,Centos的yum源當中沒有Ansible的包,我們需要先RPM安裝一下阿里云 的epel源:
rpm -Uvh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm yum install ansiable -y
2.ansible配置
系統(tǒng)環(huán)境:
server:172.16.0.10 ==> Centos 7.2 64位 client1:172.16.0.11 ==> Centos 6.7 64位 client2:172.16.0.12 ==> Centos 6.7 64位
添加客戶端:
1.配置文件參數(shù)
編輯 /etc/ansible/hosts
[webservers] ## alpha.example.org ## beta.example.org 172.16.0.11 172.16.0.12
編輯 / etc/ansible/ansible.cfg, 解決下面問題
host_key_checking = False
默認ansible是使用key驗證的,如果使用密碼登陸的服務器,使用ansible的話,要不修改ansible.cfg配置文件的ask_pass = True給取消注釋,要不就在運行命令時候加上-k,這個意思是-k, –ask-pass ask for SSH password。再修改:host_key_checking= False即可
2.使用ansible進行ping命令
單臺測試客戶端是否通了
[root@zabbix-server ~]# ansible 172.16.0.11 -m ping -k
SSH ==> 輸入客戶端的密碼
172.16.0.11 | SUCCESS => {
changed: false,
ping: pong
}
[root@zabbix-server ~]# ansible 172.16.0.12 -m ping -k
SSH
172.16.0.12 | SUCCESS => {
changed: false,
ping: pong
}
測試一個組是否通了
[root@zabbix-server ~]# ansible webservers -m ping -k
SSH
172.16.0.11 | SUCCESS => {
changed: false,
ping: pong
}
172.16.0.12 | SUCCESS => {
changed: false,
ping: pong
}
安裝完成。以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持西部數(shù)碼。
更多關(guān)于云服務器,域名注冊,虛擬主機的問題,請訪問西部數(shù)碼官網(wǎng):www.ps-sw.cn