【部署ansible】自动化运维
什么是ansible
ansible是基于模块工作的,本身没有批量部署的能力。可以实现了批量系统配置、批量程序部署、批量运行命令等功能。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
1、连接插件:负责和被监控端实现通信;
2、各种模块核心模块、command模块、自定义模块;
3、借助于插件完成记录日志邮件等功能;
4、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
ansible下载
两条指令就可安装(在管理节点)
-
yum install epel-release -y
-
yum install ansible
部署具体流程
ansible配置
node01部署ansible,node02为测试端1,node03为测试端2
(1)编辑/etc/ansible/hosts配置文件(vi /etc/ansible/hosts)
#添加主机组,使用[]标签指定主机组 cluster01就是自定义的主机组名
vi /etc/ansible/hosts
[cluster01]
192.168.11.129 #在主机组下面添加被控制节点的
192.168.11.130
(2)编辑etc/hosts配置文件
#只有在集群环境下,配置hosts才有价值,
#它能让我们在访问某个主机时不需要再去输入完整的IP地址,
#而是可以直接使用我们配置的主机名,可以理解为给服务器起了一个别名
vi /etc/hosts
192.168.11.129 node02
192.168.11.130 node03
(3)配置ssh免密码登录
-
生成秘钥,执行以下命令后直接回车,至秘钥成功生成
#生成秘钥,执行以下命令后直接回车,至秘钥成功生成 ssh-keygen
-
分发密码至测试节点node02,node03
#分发密码到测试节点 ssh-copy-id node02 ssh-copy-id node03
-
验证免密码登录
ssh node02 ssh node03
-
验证ansible的连通性#验证ansible的连通性
ansible all -m ping
安装完成ansible后,etc文件夹下生成ansible对应的文件与文件夹,分别是(文件:ansible.cfg 和 hosts 、roles)