集中化管理平臺Ansible詳解
Ansible一種集成IT系統(tǒng)的配置管理,應(yīng)用部署,執(zhí)行特定任務(wù)的開源平臺。Ansible具有如下特點:
部署簡單,只需在主控制端部署Ansible環(huán)境,被控端無需做任何操作;
默認(rèn)使用SSH協(xié)議對設(shè)備進行管理;
主從集中化管理;
配置簡單,功能強大,擴展性強
通過Playbooks來定制強大的配置、狀態(tài)管理;
一、Ansible安裝
1.環(huán)境配置
角色 | 主機名 | IP | 組名 |
msster | Automation | 192.168.1.23 | |
cleint | test1 | 192.168.1.24 | webservers |
client | test2 | 192.168.1.76 | webservers |
2.安裝ansible,在master上執(zhí)行以下操作
EPEL已經(jīng)提供了ansible所需的所有支持軟件包,所以在這里使用epel源進行安裝:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -vih epel-release-6-8.noarch.rpm remi-release-6.rpm
yum install ansible -y
3.ansible配置及測試
第一步修改主機與組配置,文件位置/etc/ansible/hosts,格式為ini,添加兩臺主機Ip,同時定義兩個ip到webservers組,內(nèi)如如下:
192.168.1.24
192.168.1.76
[webservers]
192.168.1.24
192.168.1.76
通過ping模塊測試主機的連通性,分別對單主機及組進行ping操作,出現(xiàn)如下圖所示表示測試成功
注意:由于主控端與被控主機未配置SSH證書信任,需要在執(zhí)行ansible命令時添加-k參數(shù),要求提供root默認(rèn)密碼,
4.配置Linux主機SSH無密碼訪問
在主控端主機192.168.1.23創(chuàng)建密鑰,執(zhí)行ssh-keygen -t rsa ,有詢問直接按回車鍵即可,將在/root/.ssh/下生成一對密鑰,其中id_rsa為私鑰,id_rsa.pub為公鑰
[root@Automation ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 8c:b2:59:d6:39:14:92:7f:95:98:3d:98:55:36:aa:bd root@Automation The key's randomart image is: +--[ RSA 2048]----+ | ... B.o+ | | .. .= =o . | | .. ... | | =...o | | . + S.. . | | * . . | | o E | | | | | +-----------------+
接下來同步公鑰id_rsa.pub到目標(biāo)主機,推薦使用ssh-copy-id 公鑰拷貝工具
檢驗SSH無密碼配置是否成功,運行ssh root@192.168.1.24,直接進入目標(biāo)root賬戶提示符,說明配置成功.
5.定義主機與組規(guī)則
ansible通過定義好的主機與組規(guī)則對匹配的目標(biāo)主機進行遠(yuǎn)程操作,配置規(guī)則文件默認(rèn)是/etc/ansible/hosts。
6.定義主機與組
所有定義的主機與組規(guī)則都在/etc/ansible/hosts文件中,為ini文件格式,主機可以用域名、IP、別名進行標(biāo)識,其中webservers,dbservers為組名,緊跟著主機為其成員
192.168.1.21:29050 [webservers] 192.168.1.23 [dbservers] 192.168.1.76
其中,192.168.1.21:29050的意思是定義一個SSH服務(wù)器端口29050的主機,當(dāng)然我們也可以使用別名來描述一臺主機,如
web1 ansible_ssh_port=22 ansible_ssh_host = 192.168.1.34
web1為定義的一個別名,ansible_ssh_port為主機SSH服務(wù)端口,ansible_ssh_host為目標(biāo)主機
相關(guān)文章
MongoDB學(xué)習(xí)筆記(六) MongoDB索引用法和效率分析
MongoDB中的索引其實類似于關(guān)系型數(shù)據(jù)庫,都是為了提高查詢和排序的效率的,并且實現(xiàn)原理也基本一致2013-07-07

基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程圖解

天涯(tianya)bbs系統(tǒng)架構(gòu)分析