Ansible自动化工具
1.yum info ansible 查看ansible的版本信息 可以看到版本version 、Repo等
2 yum --disablerepo=extras info ansible 查看不启用extras仓库的ansible信息
3.安装ansible时需要依赖epel的仓库,依赖的python的相关模块,前提确认好是否有epel源
例如python-paramiko(ssh连接远程主机的库)
Python-jinjia2(做模板的库) jinjia2它还要安装PyYAML库支持jinjia2的
#yum -y install epel-* 安装epel源
#yum install -y ansible 安装ansible
#rpm -ql ansible 查看列出ansible
#rpm -ql ansible | less
/etc/ansible ansible配置文件
/etc/ansible/ansible.cfg ansible主配置文件
/etc/ansible/hosts 主机清单,凡是定义在这里的主机才是被管控的主机
4.ansible的使用默认是通过ssh的连接方式管理客户端主机,确认ssh服务已经安装去,处于开启或是自启状态,关闭firewalld和selinux服务,ansible借助相应的模块或是playbooks剧本进行管理(yaml格式)
#ansible --help 查询帮助使用格式 ansible + 目标主机 + 参数
使用格式如下
ansible 目标主机多个或是批量 -m 模块 -a 传递参数命令
-a 传递给定模块参数
-m 指定调用模块名称
-f 一批管控几个默认5个
-i 指定主机清单文件是谁
–list-hosts 列出对哪些主机执行
–syntax-check 检查playbook语法是否有错误的
-t 日志记录于指定的目录的tree上面
连接也有些选项Connection Options:
-c 使用连接目标主机方式默认是smart ,也可以是local本地主机
-u 连接目标主机的用户名
5.在管理端ansible能最简单的直接连接被管理的客户端节点,要生成秘钥认证
[root@localhost ansible]# ssh-keygen -t rsa -P “”
生成私钥文件管理员远程连接另外主机的方式
[root@localhost ansible]#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.104
[root@localhost ansible]#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.107
被管控的客户端节点都要做传递
任何客户端主机被管理必须在,ansible的管理端添加主机清单文件内容
[root@localhost ansible]# vim /etc/ansible/hosts
加入客户端的ip和 对应主机名
[Client]
192.168.0.104
192.168.0.107
6.管理端测试可以管控多少台客户端主机
[root@localhost ansible]# ansible all -m ping --list-hosts all代表所有主机,也可以用主机名加正则通配符,如node*
[root@localhost ansible]# ansible all -m ping -C 大C是做检测没有真正执行更改客户端任何
7.ansible-doc的相关使用介绍
#ansible-doc --help
ansible的模块非常只多,Ansible也提供了类似与man功能的help说明工具ansible-doc。
ansible-doc -l #显示所有内建的可用模块
ansible-doc yum #获取yum模块使用帮助
8.#ansible-doc -s group查看目标系统组
[root@localhost ansible]#ansible all -m group -a “gid=3000 name=mygrp state=present system=no”
state默认不给值是present(创建)
System默认是no
[root@node104 ~]# tail -1 /etc/group
[root@ ansible]# ansible all -m group -a “gid=3000 name=mygrp state=absent system=no”
absent 代表删除
[root@node107 ~]# tail /var/log/messages
9.ansible-doc -s user使用方法看user模块的帮助信息
[root@l