1.abstract:ansible是新出现的自动化运维工具,基于Pgthon的开发,集合了众多运维工具的优点,实现了批量系统配置,批量程序部署,批量命令运行等指令。无客服端
2.部署:关闭防火墙,selinux。一台ansible服务器,四台客户机。
3.免密登录:ssh-keygen(按三次回车键)
ssh-copy-id ip地址
查看:ip a|grep net
4.测试连通性:vim /etc/ansible/hosts(写下客服机域名解析的名字,少写一个主机名)
测试连通性:ansible 主机名 -m ping(-m 模块)
ansible 主机名 -m ping -u root -k(-k 密码)
去掉yes or no询问
5.主机清单
①增加主机组
②增加用户名密码
注: 后面密码与用户名要写在同一行,因为他是属于host(1:4)这个主机的。
③:增加端口
④:子分组
注:此时用户和密码需要换行,因为 他属于组可以独立。
6.Ad-hoc-点对点模块
shell模块:ansible 组名 -m shell -a “shell语言”(如:yum -y install httpd)
复制模块:ansible 组名 -m copy -a “src=/etc/hosts dest=/tmp/1.txt owner=root group=bin mode=666”(src:source dest:放在客服机的位置 mode:权限 若要拷贝已经存在的文件,则在后面加上backup=yes)
用户模块:
注:第九个是任务计划的意思,sync time from. ntpserver同步时间服务器 &和
7.YAML:非标记语言
示例:通过YAML写一个简单的剧本,完成web部署,配置,启动的全过程。
补:上面一张图是handlers补充 内容,若此时重新启动剧本文件没有反应,此时改变端口再次启动,第一次有可能是数据延迟的问题。
8.角色扮演roles:将代码或文件进行模块化,成为roles的文件目录组织结构。
示例:通过roles远程部署nginx并配置
注:2编写任务写的是部分文件,此时用语法检测会出现一堆问题。