一.概念
简介
| Ansible是一个IT自动化工具。它能配置系统、部署软件、编排更复杂的IT任务,如连续部署或零停机时间滚动更新。 |
| |
| 连接其他主机(管理节点)默认使用ssh协议 |
特性
| Agentless:不需要在被管理节点上安装客户端,只要有sshd即可 |
| |
| Serverless:在服务端不需要启动任何服务,只需要执行命令就行 |
| |
| Modules in any language:基于模块工作,可以使用任意语言开发ansible模块 |
| |
| YAML, not code:使用yaml语言定制playbook |
| |
| SSH by default:默认使用ssh控制各节点 |
| |
| Strong multi-tier solution:可实现多级控制 |
架构
| 核心:ansible |
| |
| 核心模块(Core Modules):这些都是ansible自带的模块 |
| |
| 扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块 |
| |
| 插件(Plugins):完成模块功能的补充 |
| |
| 剧本(Playbooks):把需要完成的多个任务定义在剧本中 |
| |
| 连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个 |
| |
| 主机的,但是它还支持其他的连接方法,所以需要有连接插件 |
| |
| 主机清单(Host Inventory):ansible在管理多台主机时,可以选择只对其中的一部分执行某些操作 |
工作机制

| Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、LDAP)推送到被管理端执行, |
| 执行完之后自动删除,可以使用版本控制系统(git/svn)来管理自定义模块及playbooks。 |
生成的主要文件:
| /etc/ansible |
| /etc/ansible/ansible.cfg #配置文件 |
| /etc/ansible/hosts #主机库(host inventory) |
| /usr/bin/ansible #主程序 |
| /usr/bin/ansible-doc #文档 |
| /usr/bin/ansible-playbook #剧本 |
二.安装
1.搭建仓库
| 本地仓库或者远程仓库 |
| |
| 注意:搭建本地仓库时 |
| file: |
2.yum安装
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程