前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ansible入门:解锁IT自动化的神

Ansible入门:解锁IT自动化的神

作者头像
网络豆
发布于 2024-05-12 00:20:39
发布于 2024-05-12 00:20:39
26200
代码可运行
举报
文章被收录于专栏:python基础文章python基础文章
运行总次数:0
代码可运行

在当今的IT自动化领域,Ansible无疑是一个无法被忽视的重要角色。其便利性和高效性受到了广大开发者和系统管理员的一致好评,成为了配置管理和应用部署的首选工具。然而,对于一些初学者来说,Ansible的概念和架构可能会显得有些复杂和难以理解。因此,我打算通过一系列深入解析Ansible的博文,帮助大家更好地理解和使用这一工具。

ansible 简介

ansible 是什么?

  ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

  ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远

程主机通讯的。ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。

ansible 特点

1.部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;

2.默认使用SSH协议对设备进行管理;

3.有大量常规运维操作模块,可实现日常绝大部分操作;

4.配置简单、功能强大、扩展性强;

5.支持API及自定义模块,可通过Python轻松扩展;

6.通过Playbooks来定制强大的配置、状态管理;

7.轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;

8.提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。

上图为ansible的基本架构,从上图可以了解到其由以下部分组成:

核心:ansible

核心模块(Core Modules):这些都是ansible自带的模块 

扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块

插件(Plugins):完成模块功能的补充

剧本(Playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行

连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接到各个主机的,但是它还支持其他的连接方法,所以需要有连接插件

主机群(Host Inventory):定义ansible管理的主机

安装

1、强烈建议使用yum 进行安装,或者装所有服务器配置为同一版本的python以避免因为python版本而导致的错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install ansible

2、使用pip3 进行安装。最好将所有服务器安装同一版本的python,以避免版本问题。

#yum install sshpass 有时交互输入密码时自动交互使用。

#pip3 install ansible paramiko PyYAML Jinja2

ansible 程序结构

安装目录如下(yum安装):

  配置文件目录:/etc/ansible/

  执行文件目录:/usr/bin/

  Lib库依赖目录:/usr/lib/pythonX.X/site-packages/ansible/

  Help文档目录:/usr/share/doc/ansible-X.X.X/

  Man文档目录:/usr/share/man/man1/

ansible配置文件查找顺序

  ansible与我们其他的服务在这一点上有很大不同,这里的配置文件查找是从多个地方找的,顺序如下:

1.检查环境变量ANSIBLE_CONFIG指向的路径文件(export ANSIBLE_CONFIG=/etc/ansible.cfg);

2.~/.ansible.cfg,检查当前目录下的ansible.cfg配置文件;

3./etc/ansible/ansible.cfg检查etc目录的配置文件。

ansible配置文件

ansible的配置文件为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/etc/ansible/ansible.cfg,ansible

 有许多参数,下面我们列出一些常见的参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
forks = 5 #并发连接数,默认为5
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo_user = root #设置默认执行命令的用户
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
remote_port = 22 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
timeout = 60 #设置SSH连接的超时时间,单位为秒
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志)

使用yum进行安装时,产生的配置文件

敬请关注博主,我们将持续为您带来云计算行业及更多前沿技术的最新信息,助您把握技术动态,领先一步!”

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
👇🏻这里有一份超实用的「鸿蒙Web多设备适配开发指南」!很多小伙伴在开发时都忽略了HarmonyOS官方隐藏的宝藏案例,今天我用实际项目经验帮你盘一盘,拒绝理论堆砌,直接上干货!
陈杨
2025/06/03
1070
【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景
uni-APP版插件与小程序AI运动识别插件一样,当前都内置了跳绳、开合跳、俯卧撑、仰卧起坐、卷腹、深蹲(深蹲起)、平板支撑、马步蹲、坐位体前屈等丰富的运动项目,所有运动项目都按相应的运动规范标准进行适配,足够应付AI键身、线上运动赛事活动、团建打卡、AI体测等多种应用场景。
alphaair
2025/06/09
710
【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景
AI运动小程序开发常见问题集锦一
在技术支持资料包中,提供有指南、API参考等文档,建议在集成工作开始前,通读文档并结合Demo项目熟悉基本的应用流程。
alphaair
2024/09/19
1790
AI运动小程序开发常见问题集锦一
【一步步开发AI运动APP】四、使用相机组件抽帧
使用过uni开发过APP的开发者,应该了解在uni-app和uni-app x的APP模式下,不像小程序模式下有原生Camera组件可以使用操控相机,需要引入第三方插件或自行实现相机的预览、拍照、抽帧、录像等能力。
alphaair
2025/03/27
830
四、小程序如何抽帧
微信小程序抽帧需要用到Camera组件和CameraContext组件,可以参考官网文档:
alphaair
2024/04/30
3340
【一步步开发AI运动APP】五、人体检测能力调用
识别并检测图像中的人体结构,是开展运动分析检测、姿态分析以及姿态交互场景应用前不可或缺的前置步骤。为了满足不同场景和需求,APP版本插件精心提供了多种人体检测模式,包括“高性能”模式以满足快速响应的需求,“高精度”模式以确保检测结果的准确无误,以及“多人检测”模式以应对复杂场景中的多人识别挑战。相较于小程序版本,APP版本插件不仅提供了更为丰富的性能配置参数,让用户能够根据实际需求进行灵活调整,还省去了模型部署的繁琐步骤,实现了更便捷、更高效的集成体验。
alphaair
2025/04/01
730
【一步步开发AI运动APP】五、人体检测能力调用
【一步步开发AI运动APP】一、写在最前
在我们的小程序系列中,收到较多的私信咨询有:“为什么插件体积这么大”、“能否提高检测精度”、“高帧率如何处理”、“能否同时检测多人”等问题,这些问题大部分都是受限小程序运行时环境,无法实现或实现后体验不佳。
alphaair
2025/03/18
940
六、人体骨骼图绘制
人体骨骼图的绘制,是通过在camera组件上附一个同等大小的透明canvas组件,在上面绘制关键点达到与人体图像重合的目的。
alphaair
2024/05/20
2410
【一步步开发AI运动APP】六、运动计时计数能调用
通过前几篇博文,您已经可以通过插件在APP上进行抽帧、人体检测了,在获得到人体结构后,便可以进行运行分析实现人体计时计数了,uniAPP插件同微信小程序一样,仍然内置了跳绳、开合跳、俯卧撑、仰卧起坐、深蹲(深蹲起)、平板支撑、马步蹲等多个常见运动,可以满足健身、线上赛事、学生体测等场景需求,若有个性运动定制需求,也可以使用插件提供的pose-calc姿态分析检测接口,进行自定义扩展,后续章节再向您介绍。
alphaair
2025/04/03
1400
【一步步开发AI运动APP】六、运动计时计数能调用
十六、AI运动识别中,如何判断人体站位?
上一篇我们介绍了运动识别中,如何实现对人与摄像头的远近预检,以提供识别率和体验。在我们实际的运动应用场景中,为了准确识别到相关运动的关键姿态点,一般会指定视角,如跳绳、开合跳需要面或背朝相机,而且像俯卧撑、仰卧起坐则需要左右侧对像相机,以获得最佳的识别率和体验。
alphaair
2024/06/06
2400
做AI运动小程序有哪些解决方案,如何进行选型?
要实现AI运动计时、计数,要解决主要技术问题有:视频抽帧、视频人体检测、姿态识别、计时计数算法,其中最主要的也是技术前提的便是人体识别检测,实现上面的技术,便是一个完整的AI运动解决方案了。
alphaair
2024/04/19
2940
uni app下开发AI运动小程序解决方案
近年来,随着AI视频识别技术的飞速发展,市场上涌现出了众多基于视觉识别的AI运动APP。这些APP凭借AI视觉识别技术的强大能力,让用户只需面对摄像头进行运动锻炼,就能享受到智能计时、精准计数以及详尽的热量统计等一系列贴心功能。然而,相较于APP,小程序在运动环境的适应性和AI运动能力的实现上,一直面临着不小的挑战。
alphaair
2024/11/21
1350
鸿蒙相机开发实战:从设备适配到性能调优 —— 我的 ArkTS 录像功能落地手记(API 15)
作为一名老技术,最近特别喜欢研究鸿蒙相机功能,而且目前已经更新到API15了,那么咱们更要好好研究一下。而且从手持云台到车载记录仪,每个项目都面临独特挑战:车载场景的高温稳定性、可穿戴设备的低功耗限制、多设备分辨率适配的玄学…… 这些痛点促使我重新梳理 HarmonyOS 相机开发的技术脉络 —— 这正是本文的起源。
李游Leo
2025/03/20
1150
鸿蒙相机开发实战:从设备适配到性能调优 —— 我的 ArkTS 录像功能落地手记(API 15)
Unity3D-关于项目的屏幕适配(看我就够了)
屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知识点:
孙寅
2020/06/02
29.4K0
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
您在开发AI运动小程序或APP时,可能会面这样的需求场景,比如:人像必须全部入镜、站立远近要求检查、用户做某个动作开始/停止运动识别、内置运动不满足场景需求需要扩展新运动项目等等,这些都需要用到自定义姿态动作识别检测,插件提供了基于规则配置和姿态相似度比较两种姿态识别检测方案,本章将先为您介绍基于规则配置方案,姿态相似度比较方案和自定义运动扩展将在后续章节为您介绍。
alphaair
2025/04/22
1550
能不能用uni开发一个线上运动会的APP、小程序?
在数字化时代,移动应用开发已成为企业数字化转型的重要一环。uni-app作为一款使用Vue.js开发所有前端应用的框架,凭借其出色的跨平台性能,迅速成为开发者们的首选。uni-app不仅支持生成iOS、Android的原生应用,还能一键发布为H5、小程序、快应用等多端应用,极大地提高了开发效率和应用覆盖率。这意味着,使用uni-app开发线上运动会的APP和小程序,将能够覆盖更广泛的用户群体,实现无缝的跨平台体验。
alphaair
2024/11/25
1490
【一步步开发AI运动APP】三、在APP中引入识别插件
使用的「AI运动识别插件」引擎,已托管到DCloud插件市场,为什么标准的uni-modules模块,同时支持uni-app和uni-app x两个框架。
alphaair
2025/03/25
530
如何使用小程序媒体组件
图片,视频,音乐是小程序使用中不可缺少的部分,这篇文章中,我们将介绍小程序媒体组件的使用。媒体组件分为audio音频组件,image图像组件,video视频组件,camera相机组件以及live-player、live-pusher小程序直播组件。其中直播权限需要相关资质的账号才能开通,本文暂不做介绍。其他组件我们将会以Hello World的demo形式做介绍。
a563831029
2018/11/07
5K0
如何使用小程序媒体组件
【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
当我们根据应用场景重新调整内置运动检测参数或者扩展了新运动项目,发布小程序、APP后,若在运行时发现运动参数不合适需要调整时,便需要重新发布小程序或者APP,这个发布过程需要耗费短则几个小时,长则一两天;不便于运营。
alphaair
2024/11/12
580
【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
详解LayaAir引擎游戏屏幕适配,及有效抗锯齿
有的时候看到一些3D游戏锯齿感特别明显,与一些开发者沟通后发现,其实很多人并不清楚怎么能去掉明显的锯齿感,而这并不是只有新开发者才遇到的问题,很多游戏研发经验丰富的开发者,甚至是使用LayaAir引擎开发了很多游戏的开发者也会不清楚。另外,最近也遇到有开发者想了解刘海屏如何适配,所以通过本篇文章全面介绍一下。
Layabox Charley
2020/03/06
7.6K0
详解LayaAir引擎游戏屏幕适配,及有效抗锯齿
推荐阅读
相关推荐
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验