ansible(1)---师傅领进门
背景
在企业里,运维需要配合开发进行产品上架,说白了就是把写好的代码上服务器。那么,就会出现这样的问题:需要运维人员配置好系统,配置好环境,配置好网络,配置好程序,配置好所有所有的依赖环境.
问题来了:不就上线一个功能,还要老子配置这么多东西?就这点钱,运维很难办事啊.
关于以上的问题,我们可以使用自动化运维技术,常见的工具就有ansible.
自动化运维
你说你会写脚本,ok这也算自动化运维,那我问你:这么多台机器你都要依次登录运行相应的脚本?这效率未免也太低了吧.
这就是ansible要解决的事情,一台机器即可自动完成整套环境的搭建,即批量部署.
关于Ansible
- Ansible基于Python开发,维护更简单
- 由多个模块组成,多模块分工清晰
- 通过声明式文件进行部署,而不是死板的命令
入门实例:使用ping模块
1. 管理节点安装Ansible
yum -y install ansible
2. 管理节点配置主机组
vim /etc/ansible/hosts
[node1] #主机组名称
192.168.191.129 #被管理的节点
192.168.191.130 #被管理的节点
3.配置密钥登录
管理节点需要使用密钥登录,这样在登录节点运行命令的时候就无需输入密码.
你运行单条ansible命令进行测试也可以不使用密钥登录,但是需要你输入密码.所以为了实现自动化运维,要使用密钥登录.
这里不再赘述密钥登录的配置.
4. 使用ping模块
ping模块是网络测试模块,用于测试管理节点到主机组之间的网络是否正常.
ansible node1 -m ping
解释:
node1 #表示在主机组node1中执行命令
-m #使用模块
返回pong则表示可达.(开发ansible的人是不是很好玩 ping-pong~)
可以看到ansible命令执行成功,并且管理节点到192.168.191.130是可达的!
其他命令
ansible-doc -s ping #查看ping模块的文档(很常用的命令)
ansible-doc -l #列出可以使用的模块