Ansible 简介

Ansible 简介

Ansible 是一个由 Red Hat 开发的 开源自动化运维工具,用来做:

  • 配置管理
  • 应用部署
  • 自动化任务执行
  • 多台服务器批量操作

它的最大特点是:无代理(agentless)+ 基于 SSH 连接 + YAML 编写(可读性强)

为什么选择 Ansible?

特点 描述
✅ 无代理 被控端无需安装 agent,直接通过 SSH 操作
✅ 易于上手 使用 YAML 编写 playbook,可读性强
✅ 模块丰富 内置和社区模块支持各种平台与任务
✅ 跨平台 管理 Linux、Windows、网络设备等
✅ 可扩展 支持自定义模块和插件系统
✅ 社区活跃 拥有丰富的开源资源和文档

Ansible 能做什么?

  • 批量部署软件(如安装 nginx、mysql)
  • 配置文件下发与模板替换
  • 重启服务、管理用户、开防火墙等
  • 自动化部署 Web 应用、容器、云服务(AWS、Azure)
  • 编排跨主机任务(如部署 Hadoop、K8s、Ceph)

Ansible 的架构

image-20250404234018974

Ansible 管理节点负责下发任务,包含以下组件:

  • Ansible:Ansible-core,Ansible 的主程序,包含 Ansible 相关二进程程序
  • Inventory:主机清单,用来定义被管理服务器的清单
  • Ad Hoc:Ansible 的命令行,用于执行简单的任务或做调试使用
  • Playbooks:剧本,用来定义复杂的自动化任务
  • Core Modules:Ansible 核心模块,包含 Ansible 最常用的模块(Ansible 2.9 以前会包含大量模块,但在 2.10 后 Ansible 只会包含少量的核心模块)
  • Ansible Collections:核心模块只能满足基础功能,通过 Ansible Collections 可以安装新的模块来扩展 Ansible 的功能
  • Connection Plugins: 连接插件 ,连接插件定义 Ansible 连接到远程主机的方式

Ansible 管理主机的流程:

  1. Ansible 通过 Inventory 来定义主机清单
  2. 通过 Playbooks 或 Ad Hoc 来定义任务(任务通过模块执行)和要执行任务的主机
  3. 通过连接插件,将模块推送到被控端
  4. 在被控端执行模块的任务,执行完成后删除模块

Ansible 的大部分模块都具有幂等性,多次执行只会修改需要改的内容。但部分模块除外,如 rawcommandshell 模块。

Ansible 的管理节点只能是 Linux 系统。

Ansible 可以管理的设备和连接方式:

设备类型 默认连接方式 说明
Linux 系统 SSH 默认最常见方式,免密或密钥登录
Windows 系统 WinRM 需配置 WinRM 服务,支持 HTTP/HTTPS
网络设备 SSH 或 API 使用特定模块/Collection,部分设备需 NETCONF
云平台 API (HTTPS) 利用 SDK/REST API,需提供 Access Key、Token 等
Kubernetes / OpenShift API Server 连接 kube-apiserver,使用 kubeconfig 或 Token
Docker / Podman 本地或远程 API 通过 Unix socket 或远程 TCP 端口
存储/虚拟化设备 API 或 SSH 如 VMware 使用 vCenter API,Dell EMC 用 REST API
HTTP 服务 URI 模块 ansible.builtin.uri 可调用 REST 接口
自定义服务 命令/脚本/API 可用 command, shell, script 模块调用

Ansible 会使用被控节点有的连接方式来管理被控节点,如通过 SSH 管理 Linux,因此 Ansible 是无代理的,不需要在被控节点安装 Agent。

Ansible 简介
https://www.linuxstudynotes.com/2025/04/05/ansible/ansible-%e7%ae%80%e4%bb%8b/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇