Ansible配置自动化工具安装及使用
Posted simplelearning
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible配置自动化工具安装及使用相关的知识,希望对你有一定的参考价值。
一、运维自动化应用场景
1.操作系统预备自动化
2.配置自动化
帮助企业在大量服务器存在的情况下,快速实现应用部署、软件配置等一大利器。
优异方面:
提高配置效率
提高配置的准确性
降低人工参与度
3.监控自动化 (系统与应用监控、日志监控)
4.代码持续集成与代码持续发布自动化
二、配置自动化产品
1.absible 开箱即用,使用ssh协议
2.saltstack 需要agent端配合,配置部署速度快
3.puppet 老牌配置自动化工具,需要agent端配合
三、ansible介绍
ansible主要分成两大块:
·主机
·ansible
·模块
·主机清单
·ssh
·Play books
3.2 ansible安装
ansible只需要ansible controller节点(操作机)安装即可,其他节点直接通过SSH协议进行连接操作
安装步骤:
第1步:安装epel-release YUM源
yum -y install epel-release
第2步:安装ansible
yum -y install ansible
3.3主机清单
ansible controller 在对主机进行操作时,仅认主机清单中定义的主机列表,即从主机清单中读取到主机列表时,才可进行配置。
·用于ansible controller配置主机时读取主机列表
·实现主机分组
3.3.1主机清单定义方法
主机清单存储位置:/etc/ansible/hosts
方法一:
直接在主机清单文件尾部里写入主机IP地址或主机名(需要能够解析)
192.168.204.136或web1
方法二:
在主机清单文件中添加主机分组,然后把主机IP或主机名写入分组内即可
[webgroup] #中间是主机分组名称
192.168.204.136或web1
四、ansible应用案例
1)测试主机连通性
①创建ssh免密登录 ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ‘‘
②传输秘钥到对应主机 ssh-copy-id 192.168.204.136
③在ansible中定义主机清单,在/etc/ansible/hosts里添加主机 cat /etc/ansible/hosts
④使用ping模块 ansible 主机清单中IP或分组名称 -m 模块
ansible 192.168.204.136 -m ping
⑤执行结果
[root@localhost ~]# ansible 192.168.204.136 -m ping
192.168.204.136 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
2)对多主机进行时间同步
使用ansible cron模块实现配置多主机时间同步
步骤:
①选择时钟源服务器
·国内建议使用阿里时钟源time1.aliyun.com
·国际建议使用微软时钟源time.windows.com
测试主机时间源是否可用,若不可用安装ntpdate命令
②cron模块应用
ansible命令格式:ansible 主机清单中的IP或分组名称 -m 模块 -a “参数”
ansible 192.168.204.136 -m cron -a ‘name="test cron1" job="ntpdate time1.aliyun.com" minute=0 hour=*/1‘
#每小时与时钟源同步一次
#执行结果
3)使用ansible copy模块实现多主机配置文件同步
提供项目中域名解析工作,直接使用主机本地文件来完成域名解析工作,每台主机都需要本地解析文件,请问如何使用ansible copy模块实现多主机本地域名解析文件的同步
①准备本地域名解析文件
[root@localhost ~]# cat /etc/hosts
192.168.204.136 web1
192.168.204.137 web2
192.168.204.138 web3
②copy模块应用
#ansible命令格式:ansible 主机清单中IP或分组名称 -m 模块 -a “参数”
#copy模块应用 仅用于将本地文件或目录copy到远程主机
·src 源文件路径
·desc 要拷贝到的目标文件路径
ansible 192.168.204.136 -m copy -a "src=/etc/hosts dest=/etc/hosts"
③远程登录主机验证
总结:
场景 大量应用部署时
以上是关于Ansible配置自动化工具安装及使用的主要内容,如果未能解决你的问题,请参考以下文章