ansible是基于模塊工作的,本身沒(méi)有批量部署的能力。真正具有批量部署的是ansible所運(yùn)行的模塊,ansible只是提供一種框架。主要包括:
連接插件connection plugins:負(fù)責(zé)和被監(jiān)控端實(shí)現(xiàn)通信;
host inventory:指定操作的主機(jī),是一個(gè)配置文件里面定義監(jiān)控的主機(jī);
各種模塊核心模塊、command模塊、自定義模塊;
借助于插件完成記錄日志郵件等功能;
playbook:劇本執(zhí)行多個(gè)任務(wù)時(shí),非必需可以讓節(jié)點(diǎn)一次性運(yùn)行多個(gè)任務(wù)。
1.ansible部署
ansible 與saltstack功能大致相同,但是好的一點(diǎn)就是我們Ansible不需要客戶端,Centos的yum源當(dāng)中沒(méi)有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, 解決下面問(wèn)題
host_key_checking = False
默認(rèn)ansible是使用key驗(yàn)證的,如果使用密碼登陸的服務(wù)器,使用ansible的話,要不修改ansible.cfg配置文件的ask_pass = True給取消注釋,要不就在運(yùn)行命令時(shí)候加上-k,這個(gè)意思是-k, –ask-pass ask for SSH password。再修改:host_key_checking= False即可
2.使用ansible進(jìn)行ping命令
單臺(tái)測(cè)試客戶端是否通了
[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
}
測(cè)試一個(gè)組是否通了
[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
}
安裝完成。以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持三五互聯(lián)。
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)三五互聯(lián)官網(wǎng):m.shinetop.cn