Ansible 配置与连通性测试

一、Ansible

1、简介:

ansible 是一款基于 Python 开发的自动化运维工具,它使用清单、SSH 连接、剧本和模块,具有批量系统配置、批量程序部署、批量运行命令等功能。

① Inventory(清单):Ansible 的主机清单(Inventory)定义了要管理的主机和主机组的文件,清单可以包含主机的名称、IP 地址、连接方式、组织结构等信息。

② SSH 连接:Ansible 默认使用 SSH 协议来与目标主机进行通信。在执行任务之前,Ansible 服务器通过 SSH 私钥或用户名/密码来进行身份验证,建立 SSH 连接到目标主机。

③ Playbooks(剧本):Ansible 的核心配置是 Playbooks(剧本),Playbooks 是用 YAML 格式编写的文件,其中包含了一系列任务(tasks)和角色(roles)的定义。任务是要在目标主机上执行的操作,而角色是一个任务的集合,用于组织和复用配置。

④ 模块:Ansible 使用模块(modules)来执行任务,模块是 Ansible 的工具,它们提供了执行特定操作的功能。

2、ansible 部署

(1) 环境准备:

ansible 服务器:192.168.198.128

ansible 客户机:192.168.198.130 - 133

(2) ansible 服务器:

① 域名解析:

② 安装 ansible

yum install -y ansible

rpm -qc ansible:查看 ansible 配置文件

3、ansible 免密登录

在 Ansible 中,SSH (Secure Shell) 是默认的远程连接协议,用于与目标主机建立安全的通信渠道。

① ssh-keygen:生成密钥

ls .ssh/ :存放密钥文件

ssh-copy-id + 目的主机 ip 地址:发送密钥实现免密登录

实现免密登录:

二、ansible 基础

1、ansible 测试连通性

(1) 定义主机清单:

vim /etc/ansible/hosts(此时只定义了三台 ansible 客户机)

(2) 测试连通性:

ansible localhost -m ping

● "localhost" 表示目标主机,这里指的是本地主机;

● "-m ping" 表示要执行的 Ansible 模块是 "ping" 模块。"ping" 模块通常用于测试与目标主机的连接是否正常。如果连接正常,它将返回 "pong"。

简洁输出:-o

-o 参数用于将 Ansible 输出设置为可读性更好的 "oneline" 模式,输出将以单行格式显示,内容更加紧凑。

(3) know_hosts

① ansible 服务器与 host2 并没有进行免密登录,因此测试连通性失败

② ansible host2 -m ping -u root -k -o

● "-u root" 指定了连接到目标主机时使用的用户名 "root",表示 Ansible 将使用 "root" 用户身份连接到 "host2" 主机。

● "-k" 提示 Ansible 在连接到目标主机时,要求输入密码。

③ 去掉 yes/no 询问(去掉"是否继续连接"的询问)

vim /etc/ssh/ssh_config

StrictHostKeyChecking no

systemctl restart sshd

(4) 主机清单无主机名时,测试连通性

只有在 ansible 服务器的主机清单中记录了主机名,才能测试连通性。

(5) ping 与 -m ping 的区别:

● Ping 命令通常用于测试主机之间的网络连通性,它通过发送 ICMP Echo 请求消息到目标主机并等待回复来检测主机是否在线;

● -m ping" 是 Ansible 命令中的一个选项,用于执行 Ansible 的 "ping" 模块。这个模块是用于测试 Ansible 是否能够与远程主机建立连接。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值