关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
Ansible自动化工具安装、配置和快速入门指南|Linux中国
[复制链接]
作者:
__嘘理解我
版块:
›
嵌入式操作系统
›
linux
发布时间:
2021-2-23 16:22:26
962
0
返回列表
__嘘理解我
当前离线
注册会员
注册会员, 积分 160, 距离下一级还需 40 积分
注册会员
注册会员, 积分 160, 距离下一级还需 40 积分
积分
160
发消息
楼主
电梯直达
__嘘理解我
发表于 2021-2-23 16:22:26
|
只看该作者
|
倒序浏览
|
阅读模式
导读:
Ansible 是一个开源、易于使用的功能强大的 IT 自动化工具,通过 SSH 在客户端节点上执行任务。
本文字数:7184,阅读时长大约:8分钟
作者:Magesh Maruthamuthu
译者:MjSeven
市面上有很多自动化工具。我可以举几个例子,例如 Puppet、Chef、CFEngine、Foreman、Katello、Saltstock、Space Walk,它们被许多组织广泛使用。
自动化工具可以做什么?
自动化工具可以自动执行例行任务,无需人工干预,从而使 Linux 管理员的工作变得更加轻松。这些工具允许用户执行配置管理,应用程序部署和资源调配。
为什么喜欢 Ansible?
Ansible 是一种无代理的自动化工具,使用 SSH 执行所有任务,但其它工具需要在客户端节点上安装代理。
什么是 Ansible?
它是用 Python 构建的,这是当今世界上最流行、最强大的编程语言之一。两端都需要使用 Python 才能执行所有模块。
它可以配置系统、部署软件和安排高级 IT 任务,例如连续部署或零停机滚动更新。你可以通过 Ansible 轻松执行任何类型的自动化任务,包括简单和复杂的任务。
在开始之前,你需要了解一些 Ansible 术语,这些术语可以帮助你更好的创建任务。
Ansible 如何工作?
Ansible 通过在客户端节点上推送称为 ansible 模块的小程序来工作,这些模块临时存储在客户端节点中,通过 JSON 协议与 Ansible 服务器进行通信。
Ansible 通过 SSH 运行这些模块,并在完成后将其删除。
模块是用 Python 或 Perl 等编写的一些脚本。
控制节点,用于控制剧本的全部功能,包括客户端节点(主机)。
控制节点(Control node):使用 Ansible 在受控节点上执行任务的主机。你可以有多个控制节点,但不能使用 Windows 系统主机当作控制节点。
受控节点(Managed node):控制节点配置的主机列表。
清单(Inventory):控制节点管理的一个主机列表,这些节点在 文件中配置。它包含每个节点的信息,比如 IP 地址或其主机名,还可以根据需要对这些节点进行分组。
模块(Module):每个模块用于执行特定任务,目前有 3387 个模块。
点对点(ad-hoc):它允许你一次性运行一个任务,它使用 二进制文件。
任务(Task):每个动作(Play)都有一个任务列表。任务按顺序执行,在受控节点中一次执行一个任务。
剧本(Playbook):你可以使用剧本同时执行多个任务,而使用点对点只能执行一个任务。剧本使用 YAML 编写,易于阅读。将来,我们将会写一篇有关剧本的文章,你可以用它来执行复杂的任务。
测试环境
此环境包含一个控制节点和三个受控节点,它们均在虚拟环境中运行,操作系统分别为:
前置条件
在 Ansible 控制节点和受控节点之间启用无密码身份验证。
控制节点必须是 Python 2(2.7 版本) 或 Python 3(3.5 或更高版本)。
受控节点必须是 Python 2(2.6 或更高版本) 或 Python 3(3.5 或更高版本)。
如果在远程节点上启用了 SELinux,则在 Ansible 中使用任何与复制、文件、模板相关的功能之前,还需要在它们上安装 。
如何在控制节点上安装 Ansible
对于 Fedora/RHEL 8/CentOS 8 系统,使用DNF 命令来安装 Ansible。
注意:你需要在 RHEL/CentOS 系统上启用EPEL 仓库,因为 Ansible 软件包在发行版官方仓库中不可用。
对于 Debian/Ubuntu 系统,使用APT-GET 命令或APT 命令来安装 Ansible。
配置下面的 PPA 以便在 Ubuntu 上安装最新稳定版本的 Ansible。
对于 Debian 系统,配置以下源列表:
对于 Arch Linux 系统,使用Pacman 命令来安装 Ansible:
对于 RHEL/CentOS 系统,使用YUM 命令来安装 Ansible:
对于 openSUSE 系统,使用Zypper 命令来安装 Ansible:
或者,你可以使用Python PIP 包管理工具来安装:
在控制节点上检查安装的 Ansible 版本:
如何在受控节点上安装 Python?
使用以下命令在受控节点上安装 python:
如何在 Linux 设置 SSH 密钥身份验证(无密码身份验证)
使用以下命令创建 ssh 密钥,然后将其复制到远程计算机。
具体参考这篇文章《在 Linux 上设置 SSH 密钥身份验证(无密码身份验证)》。
如何创建 Ansible 主机清单
在 文件中添加要管理的节点列表。如果没有该文件,则可以创建一个新文件。以下是我的测试环境的主机清单文件:
让我们看看是否可以使用以下命令查找所有主机。
对单个组运行以下命令:
如何使用点对点命令执行任务
一旦完成主机清单验证检查后,你就可以上路了。干的漂亮!
语法:
使用 Ping 模块对主机清单中的所有节点执行 ping 操作:
所有系统都返回了成功,但什么都没有改变,只返回了 代表成功。
你可以使用以下命令获取可用模块的列表。
当前有 3387 个内置模块,它们会随着 Ansible 版本的递增而增加:
使用 command 模块对主机清单中的所有节点执行命令:
对指定组执行 command 模块。
检查 app 组主机的内存使用情况:
要对 web 组运行 命令,使用以下格式:
参考:Ansible 文档。
via:http://www.2daygeek.com/install-configure-ansible-automation-tool-linux-quick-start-guide/
作者:Magesh Maruthamuthu选题:lujun9972译者:MjSeven校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
欢迎遵照 CC-BY-NC-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
如何使用semanage和避免禁用SELinux?
•
Python常用的12个GUI框架
•
大联大友尚集团推出基于STSTM32Cortex-M4的码表方案
•
在linux下安装JDK,Tomcat以及Mysql
•
Cpufetch:一款功能强大的CPU架构信息爬取工具
•
新版LinuxKernel支持M1处理器仅对应Mac不包括iPadPro
•
一个惊人快速的终端录像工具,也能录制VSCode和Chrome窗口
•
超详细的PyCharm教程,必须收藏!
•
Linux用户宝典:值得一用的5款远程桌面应用程序
•
《Linux内核编码风格》官方手册最新中译本
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
招聘&找工作
生活交流*灌水区*工程师滋润生活*
快速回复
返回顶部
返回列表