Ansible自动运维工具特点
- Ansible与SaltStack均基于Python语言开发,Ansible只需要在一台普通的服务器上运行即可,不需要再客户端服务器上安装客户端。因为Ansible是基于SSH远程管理,而Linux服务器大都离不开SSH,所以Ansible不需要为配置工作添加额外的支持。
- Ansible安装使用非常简单,而且基于上千个插件和模块,实现各种软件、平台、版本的管理,支持虚拟容器多层级的部署。
Ansible运维工具原理
- Ansible是一款极为灵活的开源工具套件,能极大大化简化UNIX管理员的自动化配置管理与流程控制方式。它利用推送的方式对客户系统加以配置,这样所有的工作都可在主服务器端完成。其命令行机制同样非常强大,允许大家利用商业许可Web UI实现授权管理与配置,可以通过命令行或者GUI来使用Ansible。运行Ansible的服务器这里俗称“管理节点”,通过Ansible进行管理的服务器俗称“受控节点”。权威媒体报道,Ansible于2015年被Red Hat公司以1.5亿美元收购,新版本Red Hat内置Ansible软件。
Ansible运维工具优点
- 轻量级,更新时需要在操作机上进行一次更新即可
- 采用SSH协议
- 不需要客户端安装agent
- 批量任务执行可以写成脚本,而且不用分发到远程客户端
- 使用Python编写,维护更简单
- 支持sudo普通用户命令
- 去中心化管理
Ansible运维工具工作原理图

Ansible运维工具参数详解
- -v,-verbose:打印详细模式
- -i PATH,-inventory=PATH:指定host文件路径
- -f NUM,-forks=NUM:指定fork开启同步进程的个数,默认为5
- -m NAME,-module-name=NAME:指定module名称,默认模块为command
- -a MODULE_ARGS:module模块的参数或命令
- -k,-ask-pass:输入远程被管理端密码
- -sudo:基于sudo用户执行
- -K,-ask-sudo-pass:提示输入sudo密码与sudo一起使用
- -u USERNAME,-user=USERNAME:指定执行用户
- -C,–check:测试执行过程,不改变真实内容,相当于预演
- -T TIMEOUT:执行命令超时时间,默认为10s
- –version:查看Ansible软件版本信息
Ansible安装部署
- 部署环境:centos7.6
- ansible服务器:192.168.33.10
- node1:192.168.33.30
- node2:192.168.33.40
- node3:192.168.33.50
1.yum安装ansible
[root@hl-web ~]# yum install ansible -y
2.配置和管理的主机直接建立基于ssh的秘钥认证
[root@hl-web ~]# ssh-keygen
[root@hl-web ~]# ssh-copy-id root@192.168.33.30
[root@hl-web ~]# ssh-copy-id root@192.168.33.40
[root@hl-web ~]# ssh-copy-id root@192.168.33.50
3.定义主机,将所有被管理的主机加入到/etc/ansible/hosts中,否则无法管理
[root@hl-web ~]# vim /etc/ansible/hosts
[web]
192.168.33.30
192.168.33.40
192.168.33.50
4.编辑/etc/ansible/ansible.cfg,把下面的内容去掉#
[root@hl-web ~]# vim /etc/ansible/ansible.cfg
host_key_checking = False
5.检查添加的主机是否存活
[root@hl-web ~]# ansible web -m ping
192.168.33.30 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.33.40 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.33.50 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}

1465

被折叠的 条评论
为什么被折叠?



