阶段五:企业级自动化配置工具之Ansible基础

相关介绍

背景描述

a)当服务器越来越多,Shell 脚本扛不住了!

想象你是公司的运维工程师,最初团队只有 2-3 台服务器,日常运维(比如批量更新软件、修改配置、重启服务)靠几条 Shell 命令或简单的脚本就能轻松搞定:

更新所有服务器的 Nginx:

for ip in 192.168.1.{100..102}; 
do 
    ssh root@$ip "yum update nginx -y"; 
done

执行结果:

关键参数:

注意事项:

三台机器,一台管理,两台被管理

编号IP角色

配置说明:


**关键参数:**

**注意事项:**

[webserver] 192.168.88.130 192.168.88.131

192.168.88.103 | SUCCESS => { }

192.168.88.102 | SUCCESS => { }


**注意事项:**

192.168.88.103 | SUCCESS => {
}

192.168.88.102 | SUCCESS => {
}

https://docs.ansible.com/ansible/latest/inventory*guide/intro*inventory.html

Ansible通过一个"主机清单"功能来实现服务器分组。

Ansible的默认主机清单配置文件为/etc/ansible/hosts

案例1:

[起始值:结束值],包含起始值也包含结束值


案例2:

[nginx]

注意事项:




注意:
    nginx1别名
    ansible_ssh_host:要连接的主机的IP地址
    ansible_ssh_port:ssh对应的端口号
    ansible_ssh_user:用户名
    ansible_ssh_pass:密码

案例5:

[nginx]


**注意事项:**




......

如果要查看ping模块的用法,使用下面命令(其它模块以此类推)


官网模块文档:https://docs.ansible.com/ansible/2.9/modules/list*of*all_modules.html

中文文档:https://ansible-tran.readthedocs.io/en/latest/docs/modules.html



https://docs.ansible.com/ansible/latest/modules/hostname_module.html#hostname-module


-m:模块名称
-a:具体参数和参数值

基本格式为:

扩展:

在实际工作中,主机名称必须采用FQDN格式

功能名称.公司域名

web01.itcast.cn

web02.itcast.cn

mysql.itcast.cn

小结:

hostname在Linux操作系统中主要用于(获取或修改主机名称)

在Ansible里面,hostname专门用于主机名称,注意:Linux主机名必须要满足(FQDN)格式

https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module

案例1:创建一个目录


案例2:创建一个文件

案例3:递归修改owner,group,mode


案例4:删除目录(连同目录里的所有文件)

案例5:创建文件并指定owner,group,mode等


案例6:删除文件

案例7:创建软链接文件

参数位置 src:源文件 path:快捷方式路径 state=link:代表创建软链接


小结:


基于file模块,我们可以创建文件、目录、软连接,也可以删除文件