您的位置:首页 > 运维架构

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

2018-11-14 16:43 411 查看
版权声明:---有幸--- https://blog.csdn.net/qq_43595047/article/details/84069304

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 root@192.168.79.167:/root/.ssh/authorized.keys
#(192.168.79.167      客户端ip)

添加客户端主机组:/etc/ansible/host

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 为后缀名的文件:
格式(严格要求):

角色:roles

vi site.yml

vi handlers/main.yml

vi tasks/main.yml

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: