Ansible--初识

本文详细介绍了如何使用Ansible 2.5,基于Python编写,通过SSH进行全平台部署,包括Git源代码安装、虚拟环境配置、依赖包安装及版本验证。适合快速中小规模部署,重点讲解了从安装到验证的完整流程。

Ansible是一个开源部署工具

开发语言:Python

特点:SSH协议通讯,全平台,无需编译。模块化部署管理

作用:推送Playbook进行远程节点快速部署

Ansible

Python语言编写,无Client,模块化配置管理,playbook脚本编写规范,易于上手,适用于中小规模快速部署

Ansible配合virtualenv安装配置

Yum包安装(容易出现版本错乱)

yum -y install ansible

Git源代码安装(下载速度缓慢)

git clone https://github.com/ansible/ansible.git

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

vi /etc/sysconfig/selinux

reboot

创建deploy账户 并且切换到deploy

useradd deploy && su deploy
virtualenv -p /usr/local/python3 .py3-a2.5-env

Git源代码安装ansible2.5

cd /home/deploy/depoly/.py3-a2.5-env
git clone https://github.com/ansible/ansible.git
cd ansible && git checkout statble-2.5
./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"

make && make install

加载python3.6   virtualenv环境

source /home/deploy/.py3-a2.5-env /bin/active

安装ansible依赖包

pip install paramiko pyyaml jinja2

虚拟环境下加载ansible

source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q

或者

直接解压
进入ansible目录
执行
python setip.py install

验证ansible2.5

ansible --version

 

<think>好的,我现在需要回答用户关于Ansible工具中ansible-doc和ansible-navigator doc的使用和差异的问题。用户之前提到了配置文件的相关内容,但当前问题转向了这两个命令的比较。首先,我要确定这两个工具的基本功能和用途。 用户提到的引用[3]中提到Ansible通过playbooks管理任务,而ansible-doc是用于查看模块文档的工具。ansible-navigator则是较新的工具,属于Ansible Automation Platform的一部分,可能提供更交互式的界面。我需要对比它们的核心功能、使用场景和差异。 首先,ansible-doc是命令行工具,用于快速查看模块的帮助信息,比如参数和示例。而ansible-navigator doc可能是一个更图形化或交互式的文档查看方式。需要确认ansible-navigator是否确实有doc子命令,以及它的具体功能。 接下来,我需要查阅Ansible的官方文档,确认两者的区别。例如,ansible-doc是传统工具,适用于命令行快速查询,而ansible-navigator可能提供更丰富的功能,如分页浏览、搜索或示例代码的展示。同时,ansible-navigator可能集成在Red Hat的Ansible Automation Platform中,适合需要更复杂工作流的用户。 用户可能还关心如何安装和使用这两个工具,是否需要额外配置。例如,ansible-doc随Ansible核心安装,而ansible-navigator可能需要单独安装或作为AAP的一部分。另外,用户可能想知道在自动化脚本中哪个更适合使用,或者在开发环境中的适用性差异。 还需要考虑用户的使用场景,比如是在CLI环境下快速查询,还是在需要更详细文档和示例的情况下使用交互式工具。另外,两者的输出格式是否有区别,比如ansible-navigator是否支持颜色高亮、分页等,提升用户体验。 可能还需要提到兼容性,例如ansible-navigator是否支持所有Ansible版本,或者是否有特定的版本要求。例如,引用[2]中提到Ansible 2.4之后某些模块被替换,可能ansible-navigator需要较新的Ansible版本支持。 最后,总结两者的主要差异,帮助用户根据需求选择合适工具。例如,快速查询用ansible-doc,复杂文档查看和交互用ansible-navigator doc。同时,提供具体的命令示例,让用户更清楚如何使用。</think>### **Ansible-doc 与 Ansible-navigator doc 的对比分析** 以下分析基于Ansible 2.9+ 及 Ansible Automation Platform (AAP) 的实践场景[^1][^3]。 --- ### **1. `ansible-doc` 核心功能与用法** #### **功能定位** - **核心用途**:Ansible内置的**命令行文档查询工具**,用于快速查看模块(Modules)、插件(Plugins)或角色的参数说明、示例及版本兼容性[^3]。 - **适用场景**: - 开发调试时快速查阅模块用法(如 `ansible.builtin.copy`)。 - 验证本地安装的模块是否支持特定参数。 #### **常用命令示例** ```bash # 查看模块的详细文档(支持通配符) ansible-doc copy # 列出所有可用模块 ansible-doc -l # 显示模块的简短描述 ansible-doc -s yum # 查看指定版本的模块文档(需模块支持) ansible-doc -vvvv copy # 显示调试信息 ``` #### **输出特点** - **纯文本格式**:无交互功能,直接输出到终端。 - **结构化内容**:包含参数表、示例代码、返回值说明等。 --- ### **2. `ansible-navigator doc` 核心功能与用法** #### **功能定位** - **核心用途**:Ansible Automation Platform (AAP) 的**交互式文档工具**,提供更直观的文档浏览体验,支持分页、搜索和上下文跳转[^1][^3]。 - **适用场景**: - 需要交互式探索模块文档(如多级目录导航)。 - 在复杂环境中结合集合(Collections)和角色(Roles)进行文档管理。 #### **常用命令示例** ```bash # 启动交互式文档界面 ansible-navigator doc # 直接查看特定模块(如 ansible.builtin.copy) ansible-navigator doc copy # 结合集合过滤(如 community.general) ansible-navigator doc -c community.general ``` #### **输出特点** - **TUI界面**(Terminal User Interface):支持方向键导航、搜索(`/`)、分页(`PageUp/PageDown`)。 - **上下文关联**:可快速跳转到相关模块或插件文档。 - **颜色高亮**:关键参数和示例代码突出显示。 --- ### **核心差异对比** | **特性** | `ansible-doc` | `ansible-navigator doc` | |-------------------------|--------------------------------|--------------------------------| | **交互性** | 无(静态输出) | 支持交互式导航和搜索 | | **界面形式** | 纯文本 | TUI(终端图形界面) | | **文档组织** | 按模块名线性排列 | 按集合(Collections)分类管理 | | **搜索能力** | 需结合 `grep` 或管道命令 | 内置实时搜索功能 | | **依赖环境** | Ansible核心自带 | 需安装AAP或独立包(`ansible-navigator`) | | **适用场景** | 快速查询、脚本集成 | 开发调试、深入学习模块细节 | --- ### **典型场景示例** #### **场景1:快速查看模块参数** - **`ansible-doc` 更适合**: ```bash ansible-doc -s file # 直接输出file模块的简短参数列表 ``` #### **场景2:探索集合中的新模块** - **`ansible-navigator doc` 更高效**: 1. 启动TUI:`ansible-navigator doc` 2. 输入 `/aws` 搜索AWS相关模块 3. 按 `Enter` 查看 `amazon.aws.ec2` 的详细文档 --- ### **安全性与兼容性** 1. **版本依赖**: - `ansible-navigator` 要求Ansible >= 2.9,且推荐在Python虚拟环境中使用[^3]。 2. **企业集成**: - `ansible-navigator` 是AAP的核心组件,支持与Tower/AAP控制器无缝对接(如通过 `--mode stdout` 兼容CI/CD流水线)[^1]。 --- ### **配置建议** 1. **开发环境**:优先使用 `ansible-navigator doc` 提升效率。 2. **生产脚本**:调用 `ansible-doc` 避免依赖额外组件。 3. **学习路径**: - 新手从 `ansible-doc` 开始熟悉基础语法。 - 进阶用户通过 `ansible-navigator` 探索模块间的关联性。 --- #### **相关问题** 1. 如何通过 `ansible-navigator` 导出模块文档为Markdown格式? 2. 在CI/CD流水线中如何集成 `ansible-doc` 进行参数校验? 3. `ansible-navigator` 的日志调试模式如何启用?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值