- 本书赞誉
- 前言
- 第一部分 基础篇
- 第1章 系统基础信息模块详解
- 第2章 业务服务监控详解
- 第3章 定制业务质量报表详解
- 第4章 Python 与系统安全
- 第二部分 高级篇
- 第5章 系统批量运维管理器 pexpect 详解
- 第6章 系统批量运维管理器 paramiko 详解
- 第7章 系统批量运维管理器Fabric详解
- 第8章 从零开发一个轻量级 WebServer
- 第9章 集中化管理平台 Ansible 详解
- 第10章 集中化管理平台 Saltstack 详解
- 第11章 统一网络控制器 Func 详解
- 第12章 Python 大数据应用详解
- 第三部分 案例篇
- 第13章 从零开始打造 B/S 自动化运维平台
- 第14章 打造 Linux 系统安全审计功能
- 第15章 构建分布式质量监控平台
- 第16章 构建桌面版 C/S 自动化运维平台
9.2 Ansible 的安装
Ansible只需在管理端部署环境即可,建议读者采用yum源方式来实现部署,下面介绍具体步骤。
9.2.1 业务环境说明
为了方便读者理解,笔者通过虚拟化环境部署了两组业务功能服务器来进行演示。笔者的操作系统版本为CentOS release 6.4,自带Python 2.6.6。相关服务器信息如表9-1所示(CPU核数及Nginx根目录的差异化是为方便演示生成动态配置需要):
表9-1 业务环境表
9.2.2 安装EPEL
由于目前RHEL官网的yum源还没有得到Ansible的安装包支持,因此先安装EPEL作为部署Ansible的默认yum源。
RHEL(CentOS)5版本:rpm-Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
RHEL(CentOS)6版本:rpm-Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
9.2.3 安装Ansible
主服务器安装(主控端),代码如下:
#yum install ansible -y
9.2.4 Ansible配置及测试
第一步是修改主机与组配置,文件位置/etc/ansible/hosts,格式为ini,添加两台主机IP,同时定义两个IP到webservers组,更新的内容如下:
【/etc/ansible/hosts】
#green.example.com #blue.example.com 192.168.1.21 192.168.1.22 [webservers] #alpha.example.org #beta.example.org 192.168.1.21 192.168.1.22
通过ping模块测试主机的连通性,分别对单主机及组进行ping操作,出现如图9-2所示的结果表示安装、测试成功。
图9-2 测试主机连通性
提示 由于主控端与被控主机未配置SSH证书信任,需要在执行ansible命令时添加-k参数,要求提供root(默认)账号密码,即在提示“SSH password:”时输入。很多人更倾向于使用Linux普通用户账户进行连接并使用sudo命令实现root权限,格式为:ansible webservers-m ping-u ansible-sudo。
9.2.5 配置Linux主机SSH无密码访问
为了避免Ansible下发指令时输入目标主机密码,通过证书签名达到SSH无密码是一个好的方案,推荐使用ssh-keygen与ssh-copy-id来实现快速证书的生成及公钥下发,其中ssh-keygen生成一对密钥,使用ssh-copy-id来下发生成的公钥。具体操作如下。
在主控端主机(SN2013-08-020)创建密钥,执行:ssh-keygen-t rsa,有询问直接按回车键即可,将在/root/.ssh/下生成一对密钥,其中id_rsa为私钥,id_rsa.pub为公钥(需要下发到被控主机用户.ssh目录,同时要求重命名成authorized_keys文件)。
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: 8d:f0:47:c6:b9:55:5b:c0:0e:04:ec:e2:9c:38:f6:84 root@SN2013-08-020 The key's randomart image is: +--[ RSA 2048]----+ | ..o..o..| | ......o | | . .= .o. | | o.=.o . | | =So+ | | E =. | | . + | | . | | | +-----------------+
接下来同步公钥文件id_rsa.pub到目标主机,推荐使用ssh-copy-id公钥拷贝工具,命令格式:/usr/bin/ssh-copy-id[-i[identity_file]][user@]machine。本示例中我们输入以下命令同步公钥至192.168.1.21和192.168.1.22主机。
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.21 #ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.22
校验SSH无密码配置是否成功,运行ssh root@192.168.1.21,如直接进入目标root账号提示符,则说明配置成功。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论