Ansible简介
Ansible 是一种常用的自动运维化工具,基于 python 开发,分布式,无需客户端,轻量级,配置语言采用 YAML。
Ansible 的特性:
1. 模块化:调用特定的模块,完成特殊的任务。
2.Paramiko (python 对 ssh 的实现),PyYaml,jinja2 (模块语言) 三个关键模块。
3. 支持自定义模块,可使用任何编程语言写模块。
4. 基于 python 语言实现。
5. 部署简单,基于 python 和 SSH (默认已安装),agentless,无需代理不依赖 KPI (无需 SSL)。
6. 安全,基于 OpenSSH
7. 幂等性:一个任务执行一次和执行 n 遍效果一样,不因重复执行带来意外情况。
8. 支持 playbook 编排任务,YAML 格式,编排任务,支持丰富的数据结构。
9. 较强大的多层解决方案 role。
Ansible 的作用目标:
1. 自动化部署 APP
2. 自动化管理配置项
3. 自动化的持续交付
4. 自动化的云服务管理
Ansible 的架构:
Ansible 的工作原理:
Ansible 命令执行来源:
1> USER,普通用户,即 SYSTEM ADMINISTRATOR
2> CMDB(配置管理数据库) API 调用
3> PUBLIC/PRIVATE CLOUD API 调用 (公有私有云的 API 接口调用)
4> USER-> Ansible Playbook -> Ansibile
利用 ansible 实现管理的方式:
1> Ad-Hoc 即 ansible 单条命令,主要用于临时命令使用场景
2> Ansible-playbook 主要用于长期规划好的,大型项目的场景,需要有前期的规划过程
Ansible-playbook(剧本)执行过程
将已有编排好的任务集写入 Ansible-Playbook
通过 ansible-playbook 命令分拆任务集至逐条 ansible 命令,按预定规则逐条执行
Ansible 主要操作对象
HOSTS 主机
NETWORKING 网络设备
注意事项:
执行 ansible 的主机一般称为主控端,中控,master 或堡垒机
主控端 Python 版本需要 2.6 或以上
被控端 Python 版本小于 2.4 需要安装 python-simplejson
被控端如开启 SELinux 需要安装 libselinux-python
windows 不能做为主控端 ansible 不是服务,不会一直启动,只是需要的时候启动
一:Ansible 的安装
检测部署是否完成
二:免密方式登陆(可选)
三:Ansible基础
3.1:定义主机清单
3.2:测试连通性
3.3:know_hosts
增加用户名选项,增加密码选项
四:请注意ping和ssh
ping ICMP:网际消息管理协议
关闭host1主机的sshd进程,进行ping连通性测试。
再使用ansible对host1进行联通测试时,却是失败的。
结论ansible的ping,是探测ssh程序是否连接。不是icmp协议
ansible host1 -m ping -u root -k
__EOF__

本文链接:https://www.cnblogs.com/Jqazc/p/16731771.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具