在进行Ansible的配置与环境搭建之前,需要确保已经完成OpenEuler的基础环境搭建**。基础环境的搭建教程可以在我的《Linux操作系统配置与管理+自动化运维》专栏中找到**,详细步骤请参考该专栏。
- 准备基础环境
- 虚拟机准备:需要三台虚拟机,其中一台用于安装Ansible,另外两台分别通过完全克隆和链接克隆的方式创建。
- 网络静态设置:通过vim编辑器修改网络配置文件,确保三台机器的网络静态设置正确,并且能够相互ping通。
- 本地DNS服务:创建一个本地的DNS服务,通过编辑/etc/hosts文件,解析三台主机的IP到对应的主机名。
- 普通账号创建:创建一个普通账号,并通过修改/etc/sudoers文件来提权,以便后续操作。
- 证书认证实现:通过证书认证实现免密码登录,确保Ansible可以无密码地访问被控节点。
- 安装网络仓库, 安装网络仓库是Ansible配置的一部分,确保Ansible可以从网络仓库中获取所需的软件包。
配置 Ansible 主机清单
这一步是为了给普通用户(比如图里的 lcy)配置 sudo 权限(也就是提权),让它能以 root 身份执行命令,同时满足「免密执行所有命令」的需求。
bash
sudo vim /etc/sudoers

⚙️ 核心配置 1:Ansible 主配置文件详解
Ansible 的核心配置文件为ansible.cfg,
运行
vim /etc/ansible/hosts

按i进入编辑模式,添加被控节点(替换为你的实际 IP):

按Esc→输入:wq保存退出。
核心配置项2
编辑自定义ansible.cfg,添加如下基础配置,满足日常使用需求:
# 编辑ansible主配置文件
sudo vim /etc/ansible/ansible.cfg
按i进入编辑模式,找到[defaults]段落下的host_key_checking,取消注释并设置为False:


补充说明:什么时候需要开启 become 配置?
只有当你需要主动让 Ansible 提权执行命令时,才需要开启这些配置(或执行命令时手动加参数),比如:
-
临时提权:执行命令时加
-b参数(等价于 become=True),示例:bash运行手动指定提权,适合需要root权限的操作(比如改主机名)
ansible all -m command -a "echo loiuchenyan12301 > /etc/hostname" -b -u lcy
-
永久提权:如果后续需要默认提权,不用注释配置,而是给被控节点的 lcy 配置 sudo 免密(之前提过的方法),避免密码提示。


按Esc→:wq保存退出。
✅ 最终验证:Ansible 连通性测试
验证标准 :ansible all -m ping返回所有节点pong即为配置成功。

openEuler 下正常输出示例:

通过以上步骤,可以顺利完成Ansible的配置与环境搭建,为后续的自动化运维工作打下坚实的基础。
希望这篇教程能够帮助到正在学习或使用Ansible的朋友们。如果有任何疑问或需要进一步的帮助,欢迎在评论区留言交流。