Ansible:自动化运维(批量部署)

Ansible的优点:
1、上手简单,学习曲线平滑;
2、安全,无需安装客户端;
3、配置简单(仅服务端安装),功能强大,扩展性能强;
4、支持API及自定义模块,可通过python扩展;
5、通过playbooks来定制强大的配置,状态管理;
6、幂等性:一种操作重复多次结果相同;
7、提供一个功能强大,操作性强的web管理界面和REST API接口–AWX平台;

Ansible安装:
	yum install epel-release
	yum install -y ansible
Ansibel配置(服务端,实现无密码登录):
	ssh-keygen
	scp ./.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized.keys
										#(192.168.79.167      客户端ip)

添加客户端主机组:/etc/ansible/hosts
在这里插入图片描述

ansible:常用命令
	1、ansible-doc -l  			#查看支持的模块;
	2、ansible-doc -s MODEL_NAME 			#查看模块用法;

ansible <客户端> [options]
-f forks:启动并发线程数;
-m model_name:要使用的模块;
-a args:特有的参数;
absent :删除;
present:安装;开启;
latest:更新;

ansible all -m ping 		#查看client端是否ping通;
ansible client -m setup    #查看client端信息;
ansible client -m copy -a 'src=/root/a.txt dest=/root'	#将/root 下的a.txt文	件copy到客户端的/root下;
   ansible client -m user -a 'name=aaa state=present'		#给客户端添加aaa用户;
ansible client -m user -a 'name=aaa state=absent'			#删除客户端的aaa用户;
ansible client -m yum -a 'name=tree state=present'		#通过yum给客户端安装tree;
ansible client -m service -a 'name=httpd state=started'	#开启客户端httpd服务;
ansible client -m script -a '/tmp/test.sh'			#运行脚本;
ansible client -m command 'date' 				#查询时间;

playbooks部署:
创建以 .yml 为后缀名的文件:
格式(严格要求):
Ansible:自动化运维(批量部署)_第1张图片

角色:roles
Ansible:自动化运维(批量部署)_第2张图片
vi site.yml
Ansible:自动化运维(批量部署)_第3张图片
vi handlers/main.yml
在这里插入图片描述
vi tasks/main.yml
在这里插入图片描述

你可能感兴趣的:(Ansible自动化运维)