1.Ansible对于企业运维的重大意义
-
高效部署
- 企业可以使用 Ansible 快速部署新的服务器和应用程序。通过定义清晰的任务和剧本,可以实现一键式部署,大大缩短了部署时间,提高了工作效率。例如,在部署一个新的 Web 应用时,Ansible 可以自动安装所需的软件包、配置数据库、启动服务等,无需人工逐一进行操作。
- 可以同时对多台服务器进行部署,确保整个系统的一致性。对于大规模的企业环境,这一点尤为重要,可以避免因手动操作带来的不一致性和错误。
-
配置管理
- Ansible 能够对服务器的配置进行集中管理。企业可以定义统一的配置标准,并通过 Ansible 确保所有服务器都符合这些标准。例如,可以统一设置服务器的防火墙规则、用户权限、软件版本等,提高系统的安全性和稳定性。
- 当需要对配置进行更改时,只需修改 Ansible 的剧本或任务,然后运行即可快速应用到所有相关服务器上。这使得配置变更更加容易管理,减少了因配置不一致而导致的问题。
2.Ansible的安装
epel 源dnf install ansible -yansible --viersionansible 的基本信息 :/etc/ansible/ansible.conf ## 全局配置文件 , 默认很少修改/etc/ansible/hosts## 全局主机清单清单文件
3.构建Anisble清单
清单就是 ansible 控制主机的列表/etc/ansible/hosts ## 全局清单文件#1. 直接书写受管主机名或 ip , 每行一个node1.westos.comnode2.westos.com172.25.254.240
在/etc/ansible的host中直接书写【】表示清单名称。下面时元素
#2. 设定受管主机的组 [ 组名称 ]# 清单查看 :ansible 清单中组名称 [-i 清单文件 ] --list-hostsansible ungrouped --list-hostsansible all --list-hosts
手动指定清单
嵌套清单
3. 主机规格的范围化操作 ## 通过指定主机名称或 IP 的范围可以简化 Ansible 主机清单# 语法 :#[start:end][westostest]172.25.254.[100:108]
4.指定其他清单文件
vim inventory172.25.254.240[westostest]172.25.254.100172.25.254.200
4.Ansible配置文件参数详解
ansible 清单中组名称 -m 模块 -u remote_user#1. 配置文件的分类与优先级/etc/ansible/ansible.cfg # 基本配置文件 , 找不到其他配置文件此文件生效~/.ansible.cfg# 用户当前目录中没有 ansible.cfg 此文件生效./ansible.cfg# 优先级最高#2. 常用配置参数#[default]## 基本信息设定inventory=## 指定清单路径remote_user=## 在受管主机上登陆的用户名称 , 未指定使用当前用户ask_pass=## 是否提示输入 SSH 密码 , 如果公钥登陆设定为 falselibrary=## 库文件存放目录local_tmp=## 本机临时命令执行目录remote_tmp=## 远程主机临时 py 命令文件存放目录forks=## 默认并发数量host_key_checking=## 第一次连接受管主机时是否要输入 yes 建立 host_keysudo_user=## 默认 sudo 用户ask_sudo_pass=## 每次在受控主机执行 ansible 命令时是否询问 sudo 密码module_name=## 默认模块 , 默认使用 command , 可以修改为 shelllog_path=## 日志文件路径[privilege_escalation]## 身份信息设定become=## 连接后是否自动切换用户become_method=## 设定切换用户的方式 , 通常用 sudobecome_user=## 在受管主机中切换到的用户 , 通常为 rootbecome_ask_pass## 是否需要为 become_method 提示输入密码 , 默认为 false