
有上图我们知道了我们要具体创建的结构,这是一个复杂化的,偏多元的一个结构,但是注意的点有:
①所有配置均在88依托ansible角色部署,必须兼容我们的所有功能
②现在88已经向所有主机发送了公钥对,并且能够顺利连接,防火墙和selinux都已经关闭,且已知所有主机均为Redhat系列的openeuler,我们无需做版本判断
③一个IP对应一个域名,但dns域名解析只能在89上完成,必须完成正反向解析
首先,看见这个图,我们脑子里面必须要有一个完整的结构思路,一个完整的、无暇的结构树必须能够产生,常规结构如下:

这是一个算比较常规的结构,下面我们就可以在这套结构下开始配置,主配置是最关键的
我来主要讲解一下各个地方的用处:
inventory/ 作用:Ansible 管理的所有机器清单
inventory/hosts 作用:机器分组 + 定义变量
roles/ 作用:服务模块化
roles/nginx/ 作用:Nginx 全套自动化
roles/nginx/tasks/ 作用:步骤清单
roles/nginx/templates/ 作用:存放 .j2 模板配置文件(用于template模块直接替换)
roles/nginx/vars/ 作用:变量存放处
roles/keepalived/ 高可用 VIP 漂移全套
roles/dhcp/ 作用:DHCP 服务 + MAC 固定 IP 自动绑定
roles/dns/ 作用:DNS 正反向解析
由此作为配置,我们最后得到的结果如下

最后再运行,因为我们模块明确,所以我们哪里出错了会及时知道,报错的时候也会报出错误的文件或服务类型,我们只需要修改一个而不是多个,这样避免复杂、重复化的工作
下课!