Ansible-自动化运维工具介绍

简介: Ansible基础介绍和调试使用技巧

Ansible基础介绍

我们在做系统运维时,很多时候需要SSH登陆到各个服务器进行各种系统和包的安装启动及状态检查等操作。这些过程很繁琐,而且操作的过程,结果及脚本代码很零散不好管理,容易造成一些不必要的问题。Ansible正好是满足了这个需求,把重复而繁琐的运维操作通过简洁易懂的YAML代码来描述和执行。

Ansible的特点

  1. 简洁易懂,功能丰富,扩展方便
  2. 只需在主控端安装,无需在被控端安装Agent, 大大简化了部署复杂性
  3. 默认使用SSH,不需要额外的安全框架
  4. YAML描述性语言,把部署过程体现为代码,从而可以把部署过程纳入代码的版本管理

Ansible架构介绍

image
-- 图片来源:https://geekflare.com/ansible-basics/

上图演示了如何通过Ansible对共有云或私有云的一堆机器进行运维操作。

模块介绍:

  1. 核心:最中间的是Ansible自动化执行引擎,接受用户输入,调度各个模块完成操作
  2. Inventory: 所有被控端的host的IP地址清单,可以按需进行分组归类
  3. Playbooks: 配置中心,定义操作的流程(play), 每一个play可以定义一系列顺序执行的task, 每个task定义具体执行的action
  4. module: action通过module封装,module通过SSH推送到被控端执行,执行后自动删除
  5. plugin: 插件是指在主控端执行的扩展模块,譬如logging, connection,数据转换等功能扩展插件

Ansible调试环境搭建(Intellij IDE)

  1. 下载最新代码:
    $ git clone https://github.com/ansible/ansible.git --recursive
  2. check out到较新的稳定版本,如2.9.6
    $ git checkout v2.9.6
  3. 本地安装
    $ source hacking/env-setup
  4. 本地调试服务器
    Ansible的操作是通过SSH连接和操作远程的机器,测试的时候不一定有合适的远程机器可供操作。比较简便的方式是让SSH连接本地机器(localhost, 127.0.0.1),这就需要生成一套SSH key,并把key放到.ssh/authorized_keys
$ ssh-keygen # 一路回车
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 导入Intellij project (IDE需要先安装python plugin)
  2. 将 ANSIBLE_ROOT/lib 目录 Mark Directory as -> Source Root, 在IDE执行时能成功import内部的package
  3. debug 执行

Ansible使用小技巧

TBD

Ansible二次开发小技巧

TBD

相关文章
|
5月前
|
运维 Prometheus 监控
别再盲选了!开源运维工具选型这事儿,咱得说人话
别再盲选了!开源运维工具选型这事儿,咱得说人话
328 7
|
4月前
|
运维 Prometheus 监控
3 年部署经验总结:用自动化工具轻松管理 300+ 服务器开源软件
三年前接手公司IT部门时,我满怀信心,却发现部署效率低下。尽管使用了GitLab、Jenkins、Zabbix等100+开源工具,部署仍耗时费力。文档厚重如百科,却难解实际困境。一次凌晨三点的加班让我下定决心改变现状。偶然看到一篇国外博客,介绍了自动化部署的高效方式,我深受启发。
216 0
|
3月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
397 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
2月前
|
人工智能 搜索推荐 UED
一个牛逼的国产AI自动化工具,开源了 !
AiPy是国产开源AI工具,结合大语言模型与Python,支持本地部署。用户只需用自然语言描述需求,即可自动生成并执行代码,轻松实现数据分析、清洗、可视化等任务,零基础也能玩转编程,被誉为程序员的智能助手。
|
2月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
3月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
185 6
|
3月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
133 4
|
4月前
|
人工智能 数据可视化 数据挖掘
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
本文深入分析了传统手动日报在数据孤岛、格式混乱和时效性差三大痛点,并探讨了自动化日报带来的效率提升、决策优化等四大核心价值。通过对板栗看板、SmartBrief、n8n 等六款主流工具的功能、适用场景及实战效果进行测评,为企业提供科学的选型建议与实施路径。
团队日报不用愁!自动化生成工具亲测:任务进度实时同步
|
2月前
|
人工智能 缓存 自然语言处理
86_自动化提示:AutoPrompt工具
在当今人工智能领域,提示工程(Prompt Engineering)已成为释放大语言模型(LLM)潜能的关键技术。随着LLM规模和能力的不断增长,如何设计高效、精确的提示词成为研究和应用的焦点。然而,传统的手工提示工程面临着巨大挑战

热门文章

最新文章