【Ansible 学习之旅】配置控制机器和受控机器

系列文章

Ansible 介绍和架构
Ansible 安装和入门


目录


上一篇文章中提到,我们有三个虚拟机:

主机 操作系统 IP地址 角色 主要软件
server1 Rocky Linux 8.8 192.168.30.121 控制机器 ansible
server2 Rocky Linux 8.8 192.168.30.122 受控机器 httpd
server3 Rocky Linux 8.8 192.168.30.123 受控机器 mysql

并且我们已经完成了在控制机器server1 上安装ansible。下面要建立server1与另外两台机器之间的控制关系。

修改控制机器上ansible的清单文件

Ansible 的全局主机清单文件 Inventory 位于/etc/ansible/hosts。上一篇文章也介绍了/etc/ansible下的重要文件和目录的含义。参阅Ansible 安装和入门

这里我们在/etc/ansible/hosts文件中添加两个组,分别是webserver和mysql,各包含一个主机。

bash 复制代码
vim /etc/ansible/hosts

[webserver]
192.168.30.122
[mysql]
192.168.30.123

主机清单文件的目的是让 Ansible 知道它需要管理哪些主机,以及如何分组这些主机。例如,我们可以创建一个名为 "webservers" 的组,然后将所有 Web 服务器添加到这个组中。这样,在执行任务时就可以针对这个组而不是单独的每一台服务器


配置公私钥

ansible 是基于 ssh 协议实现的,所以其配置公私钥的方式与 ssh 协议的方式相同。

  1. 生成公私钥对

    • 在控制节点上,打开终端并输入 ssh-keygen -t rsa 命令来生成 RSA 密钥对。
    • 当提示保存密钥的位置时,回车接受默认路径(通常是 ~/.ssh/id_rsa)。
    • 输入密码(如果不需要密码,则留空)。
    • 再次输入相同的密码确认。
    • 生成的密钥对将分别保存在 id_rsa(私钥)和 id_rsa.pub(公钥)文件中。
  2. 查看生成的密钥:

    使用 ls 命令查看.ssh目录下生成的密钥文件:id_rsa 和 id_rsa.pub。

  3. 向被管理节点发送公钥:

    使用 ssh-copy-id 命令将公钥复制到被管理节点的 .ssh/authorized_keys 文件中。

bash 复制代码
ssh-copy-id root@192.168.30.122
ssh-copy-id root@192.168.30.123



主机连通性测试

要测试控制节点(Ansible 主机)与被管理节点(目标主机)之间的连通性,我们可以使用 ping 模块。ping 模块是 Ansible 提供的一个内置模块,用于检查目标主机是否可达。

bash 复制代码
ansible webserver -m ping
ansible mysql -m ping

示例:

相关推荐
悠然南风2 天前
Ansible常见模块总结及LDAP Role 编写与调试
ansible
通信小呆呆9 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick9 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee9 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn869 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e9 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨10 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq10 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan10 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend10 天前
理论学习:什么是 Coding Agent?
学习