第二节安装ansible 运维自动化
2.1 安装ansible
2.1.1.上传ansible的依赖包
1)先切换到cd /usr/local/src
2)打开远程传输 xftp5,将依赖包远程传输到src目录下
2.1.2.安装ansible的依赖包
可以通过epel源安装ansible软件
安装命令 yum localinstall *-----将本地当前目录里的软件全部安装
如果安装出现问题,首先查看是否将镜像挂载
2.1.3.查看安装后的ansible软件
----rpm -ql ansible
相关文件:/etc/ansible/hosts ------host inventory
/usr/bin/ansible ------主要命令
/usr/bin/ansible-doc ------查看文档,
/usr/bin/ansible-playbook -----播放剧本
2.1.4.相关文件的编辑
1)查看 vim /etc/ansible/hosts
有2种方式,第一种是没有分组的,
另一个种是以分组的方式
在分组的情况下,一个IP/主机可以属于多个组
我们根据需要自定义创建分组并声明组成员,可以使用主机名,但是一定要保证主机名能够被解析,主机数越多,编写的配置文件就越多
2) 编辑 etc/ansible/hosts文件内容
3)配置主机之间的互信
配置互相端,只要在ansible端配置即可
相互信任的前提是双方都要配置互信才可以
而且主机越多,表示上传的公钥次数也越多
ssh-keygen -t rsa -P ‘’ 或者ssh-keygen----生成密钥
ssh-copy-id -i .ssh/id_rsa.pub root@被远程的服务器IP地址1
ssh-copy-id -i .ssh/id_rsa.pub root@被远程的服务器IP地址2
4)使用ansible进行测试
使用的命令: ansible all -m 模块
All参数表示主机清单中提到的所有主机----host inventory
-m参数表示调用的模块
Ping模块表示测试各个节点网络是否正常
5)ansible命令用法
注意:使用ansible远程执行命令一次只能执行一个,不能使用管道符、连接符、重定向、与或非等,除非配合shell模块使用
Ansible命令:针对一组主机定义并运行单个任务“剧本”
基本语法: ansible +all /组名 +选项
选项:-m +模块名字-----执行对应的模块名,
不加模块,默认执行command模块
-a +模块参数-----指定模块参数
常用命令格式:ansible all -m+模块名 -a+“参数1=参数 +空格+ 参数2=参数 。。。。。。”
练习:
- 幂等性
幂等性:相同的操作执行N次结果都是一样的
而ansible命令不具备幂等性这一特性,除非和核心模块一起使用,就会有幂等性,
Ansible的核心模块是具有幂等性的,但是如果直接使用command模块执行命令,不能保证幂等性
Id $name &> /dev/null || useradd 用户名 -----这个语句具有幂等性