【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

示例:

相关推荐
Song_RsHt几秒前
Gateway (上):路由与转发,微服务的统一入口
java·笔记·后端·学习·gateway
2603_9695792819 分钟前
备份云盘是什么意思?简单说就是“用云盘来备份数据”
学习
David猪大卫2 小时前
【C++修炼】string类:string类的模拟实现
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
lisw053 小时前
“科学前沿极限突破计划”述评!
大数据·人工智能·学习
外收内放3 小时前
数据分析(数据清洗)
python·学习·数据分析
一条泥憨鱼3 小时前
【计算机网络】| 详解链路层:MAC 地址与VLAN
网络·学习·计算机网络
燕落南枝4 小时前
C 语言学习大总结:从入门到进阶的完整知识体系
服务器·c语言·学习
科技林总4 小时前
从零开始学习DeerFlow完整路径
学习
David猪大卫4 小时前
【C++修炼】STL容器—模板进阶:非类型模板参数、模板特化、模板分离编译
c语言·开发语言·c++·经验分享·笔记·学习·面试