Ansible简介###
| ansible是一种自动化运维工具,基于paramiko模块开发,用于批量执行任务和发布工作。 |
Ansible特性###
- 模块化:调用特定模块,完成一系列特定任务
- 有Paramiko,PyYAML,Jinja2(模板语言)
- 支持自定义模块
- 基于Python语言实现
- 部署建单,安全,被管理端无需安装agnet,只要配置满足条件的Python版本和OpenSSH(默认已安装),agentless
- 支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构
- 幂等性:一个任务执行1遍和执行n遍效果是一样的,不因重复执行带来意外情况
- 无需代理不依赖PKI(无需ssl)
- 可使用任何编程语言写模块
- 较强大的多层解决方案
Ansible架构及原理###

Ansible主要组成部分###
- Ansible Playbook:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行。
- inventory:Ansible管理主机的清单/etc/ansible/hosts
- Modules:Ansible执行命令的功能模块,多数为核心模块,也可以自定义
- API:供第三方调用的的程序接口
Ansible 主要操作对象###
注意事项####
- 执行Ansible的主机一般是主控端,中控,MASTER或堡垒机
- 主控端,被控端Python版本(主控端:Python2.6以上,被控端:如Python版本小于2.4需要安装python-simplejson)
- 被控端如果开启SElinux需要安装libselinx-python
- Windows不能做主控端
Ansible执行过程###

Ansible部署方式###
| GIT方式: |
| git clone https://github.com/ansible/ansible.git --recursive |
| cd ansible |
| source ./hacking/env-setup |
| |
| pip方式: |
| pip3 install --upgrade pip |
| pip3 install ansible --upgrade |
| |
| yum 方式: |
| yum -y install ansible |
| |
Ansible相关配置###
| /etc/ansible/ansible.cfg 主配置文件 |
| /etc/ansible/hosts 主机清单 |
| /etc/ansible/roles/ 存放角色目录 |
Ansible 程序###
| /usr/bin/ansible 主程序,临时命令执行工具 |
| /usr/bin/ansible-doc 查看配置文件,模块功能查看工具 |
| /usr/bin/ansible-galaxy 下载/上传优秀代码或roles模块的官方平台 |
| /usr/bin/ansible-playbook 定制自动化任务,编排剧本工具 |
| /usr/bin/ansible-pull 远程执行命令的工具 |
| /usr/bin/ansible-vault 文件加密工具 |
| /usr/bin/ansible-console 基于console界面与用户交互的执行工具 |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?