【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

示例:

相关推荐
我要吐泡泡了哦26 分钟前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫12326 分钟前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai2 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫3 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
铁匠匠匠4 小时前
从零开始学数据结构系列之第六章《排序简介》
c语言·数据结构·经验分享·笔记·学习·开源·课程设计
架构文摘JGWZ6 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
小齿轮lsl6 小时前
PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述
笔记·学习·matlab
Aic山鱼6 小时前
【如何高效学习数据结构:构建编程的坚实基石】
数据结构·学习·算法
qq11561487076 小时前
Java学习第八天
学习
天玑y6 小时前
算法设计与分析(背包问题
c++·经验分享·笔记·学习·算法·leetcode·蓝桥杯