如何在 Debian 8 上安装 Ansible (Jessie)

2023-10-29

Ansible 是一种自动化工具,用于从单台计算机管理多个远程主机。它为您提供了针对大量远程主机的轻松配置。例如,您在多台机器上执行相同的任务,Ansible 为您提供了自动执行这些任务的选项。

本教程将帮助您在 Debian 8 (Jessie) 系统上安装 Ansible。

第 1 步 – 配置 SSH 访问

您可以为远程 Linux Ansible 主机配置基于密钥的 ssh。因此 SSH 不需要密码。 Ansible 还允许您使用 ssh 密码,但基于密钥的 ssh 更安全。

在 Ansible 服务器上生成 ssh 密钥对:


ssh-keygen
  

将公钥复制到您需要通过此 ssh 密钥连接的所有远程主机。


ssh-copy-id -i ~/.ssh/id_rsa.pub ssh_user@remote_host
  

步骤 2 – 在 Debian 8 上安装 Ansible

Ansible 为 Debian 系统上的安装提供了官方 PPA。

将以下行添加到/etc/apt/sources.list file:


deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
  

然后运行以下命令来添加签名密钥并安装 Ansible。


sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt update
sudo apt install ansible
  

步骤 3 – 配置 Ansible 主机和组

您的服务器已准备好使用 Ansible 进行远程主机管理和自动化。您可以拥有所需的多个主机,并使用单个 Ansible 服务器来管理它们。

在这里,您需要在 Ansible 主机文件 (/etc/ansible/hosts) 中定义远程系统。您还可以创建具有相似类型的主机组。在这里,您需要将主机正确分组。组用于在其下定义的所有远程主机上执行一项任务。

编辑 Ansible 主机配置文件。例如:


sudo nano /etc/ansible/hosts
  

添加您的主机并将其分组。一个主机可以添加到多个组下.


[webservers]
web-host1
web-host2

[dbservers]
db-host1
  

下图将帮助您了解组和组下的主机。

单主机变量配置

您需要为主机定义设置。主机特定文件必须与host_vars目录下的主机同名(例如:web-host1)。


sudo mkdir /etc/ansible/host_vars
sudo vi /etc/ansible/host_vars/web-host1
  

将 web-host1 的 SSH 设置添加到此文件中。


ansible_ssh_host: 192.168.1.15
ansible_ssh_port: 22
ansible_ssh_user: root
  

如果您没有使用步骤 1 来建立该主机的 ssh 连接。您还可以将以下方法之一添加到 web-hosts1 配置文件中以进行身份​​验证。


ansible_ssh_pass: secret_password
ansible_ssh_private_key_file: /home/rahul/.ssh/aws.pem
  

组变量配置

您可以在组配置下配置组的公共变量设置。组文件名必须与下面的组名(例如:webservers)相同group_vars目录。


sudo mkdir /etc/ansible/group_vars
sudo vi /etc/ansible/group_vars/webservers
  

将公共变量添加到该文件中,供该组下添加的所有主机使用。


ansible_ssh_port: 22
ansible_ssh_user: root
  

第 4 步 – 测试 Ansible 设置

您的 Ansible 设置已准备好进行测试。要使用 ping 模块测试所有主机的连接,例如:


ansible -m ping all
  

测试特定主机或主机组的连接


ansible -m ping web-host1        ## Specific host 
ansible -m ping webservers       ## Specific group 
  

您还可以使用 shell 模块运行命令。例如,测试 web-host1 上的可用内存。您还可以为一个组执行相同的任务。只需使用组名而不是主机名。


ansible -m shell -a 'free -m' web-host1
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Debian 8 上安装 Ansible (Jessie) 的相关文章

  • 使用 Ansible“lineinfile”模块编辑 /etc/sudoers 是否安全?

    我想根据以下内容更改 sudo 会话超时this https superuser com a 149740 775166回答 我可以编辑普通文件 lineinfile path etc sudoers regexp Defaults env
  • 使用 Ansible 进行 SSH 代理转发

    我正在使用 Ansible 1 5 3 和 Git 以及 ssh 代理转发 https help github com articles using ssh agent forwarding https help github com ar
  • 基于 ec2 发行版动态设置 ansible-playbook 用户变量

    我正在创建一个 ansible 剧本 它会遍历一组 AWS EC2 主机并安装一些基本软件包 在 playbook 可以执行任何任务之前 playbook 需要使用正确的信息登录到每个主机 2 种类型的发行版 AWS Linux 或 Ubu
  • 在 Ansible 的字典列表中搜索键 [重复]

    这个问题在这里已经有答案了 我有一个类似于以下内容的字典列表 subnets name subnet1 name34554 address 192 168 1 100 id id1 name subnet2 name67678 addr 1
  • Ansible、瞻博网络 CLI 命令。超时错误?

    我正在尝试将我用 Python 编写的自动化脚本传输到 ansible 公司请求 但我以前从未使用过 ansible 我已经尝试过 wait for 但我也没有让它发挥作用 在脚本中 我可以设置 dev timeout None 或我需要的
  • ansible if else 构造

    这是我的 if else Ansible 逻辑 name Check certs exist stat path etc letsencrypt live rootDomain fullchain pem register st inclu
  • Ansible设置mysql root密码

    你们中有人有想法构建一个 yml 用于 mysql 更新 root 密码并授予权限吗 我已经创建了我的剧本 并且在全新安装时它按预期工作 完全没有问题 但是 当我再次进行 vagrant 配置时 它现在无法设置 root 密码 并且出现错误
  • 如何在 Ansible playbook api 中设置“--limit”选项

    我正在编写 python 脚本来运行 ansible playbook 使用 Ansible 2 4 2 0 据我所知有一个选择 limit 这可以限制 Ansible 在特定主机上的运行 例如 这是 etc ansible hosts t
  • Ansible - .env 文件中的环境变量

    我正在尝试设置一个剧本 它将运行命令来检查目标计算机中安装的服务的状态 该命令仅在以下情况下才有效 env file被执行 执行的命令 env file is
  • Ansible inventory:aws_ec2 模块——寻找工作“groups:”函数的示例

    我有一个使用 aws ec2 模块的动态 ansible 库存 一般来说 它运作得很好 然而 有一个问题 我曾多次尝试使用 groups 关键字创建组 但所有尝试都失败了 文档有点稀疏 事实上 完整的文档就在这里 groups dictio
  • jenkins 管道中的该模块需要 boto3 和 botocore

    我正在尝试通过 jenkins groovy 脚本运行 ansible playbook 但不断收到错误 boto3 is required 我已经安装了 boto3 pip list boto grep boto boto3 1 20 3
  • Ansible sudo 在执行 5 个任务后挂起

    设置要求 本地用户 goagent1 ansible从GoCD启动 远程用户 myadmin myadmin 是一个需要密码的 sudoer 我们在剧本级别启用了 sudo Problem 该剧本似乎在执行了大约 5 个任务后停止了 发生得
  • Ansible:从意图文件创建字典

    shell gt cat myfile yml ABC ABC C01 host a1 prefixlen 19 host a2 prefixlen 19 DEF DEF C01 host d1 prefixlen 19 host d2 p
  • 将事实收集到事实缓存的最快方法

    我正在尝试让 Ansible 与 limit 一起工作 为此我需要有关其他主机的事实 我正在使用fact caching进行缓存 我应该运行什么命令 以便它只收集所有主机上的所有事实并缓存它们 而不运行任何任务 像这样的东西设置模块 htt
  • 根据磁盘可用空间获取节点IP

    我正在尝试编写一个 Ansible 剧本来检查多个服务器上的磁盘空间 到目前为止 这是我的 Ansible 剧本 hosts all become yes tasks name Check freespace shell df h awk
  • 无法在守护进程模式下运行 Ansible

    我可以运行 Ansible 像守护进程一样管理我的主机吗 例如 我有时会更改我的剧本 但我不想手动运行 ansible playbook main yml 请不要建议 crontab 有一个特定的点 我不能在生产服务器上使用 crontab
  • Ansible 权限问题

    我正在尝试将当前用户添加到系统中的某个组 然后执行需要该组权限的命令 我的剧本是这样的 name Add this user to RVM group sudo true user state present name vagrant ap
  • Ansible 循环直到条件匹配。

    我想进行一系列 API 调用 每次调用后检查结果中的特定参数 如果它大于特定值 则将其保存在寄存器中并继续进一步执行剧本 基本上 我正在对 RHEV 进行 API 调用来检查存储域 然后我想检查存储域是否有足够的空间 如果有 则将该存储域i
  • ansible 用户模块总是显示已更改

    我正在努力正确使用 ansible 的用户模块 问题是每次我运行我的剧本时 我创建的用户always显示为已更改 即使我已经创建了它们 我在这里发现其他人也有同样的问题 https github com ansible ansible is
  • ansible:基于 extra-vars 文件的任务顺序

    我有包含 10 个任务的 ansible 剧本 任务的顺序因用例而异 因此我必须为每个用例创建 extraVar yml 文件 并且 extraVar yml 将定义任务的顺序 怎么做 Example 剧本 tasks name task1

随机推荐

  • JS 面试题集合(二)

    一 延迟加载 JS 有哪些方式 延迟加载 async defer 例如 defer 等html全部解析完成 才会执行js代码 顺次执行js 脚本 async asyc 是和 html 解析同步的 一起的 不是顺次执行 js 脚本 谁先加载完
  • 破解极验(geetest)验证码

    最近在搞爬虫的时候在好几个网站都碰到了一种叫做geetest的滑动条验证码 一直没有太好的办法只能在触发这个验证码后发个报警去手动处理一下 http www geetest com exp embed是他们官网的样例 后来研究了下觉得要破解
  • FindBugs Bug Descriptions

    FindBugs Bug Descriptions This document lists the standard bug patterns reported byFindBugs version 1 3 9 Summary Descri
  • 【力扣】三数之和

    给你一个包含 n 个整数的数组 nums 判断 nums 中是否存在三个元素 a b c 使得 a b c 0 请你找出所有和为 0 且不重复的三元组 注意 答案中不可以包含重复的三元组 示例 1 输入 nums 1 0 1 2 1 4 输
  • KEIL 生成bin文件

    1 首先对于keil5其编译生成的HEX文件 一般通过勾选如下 在进行ISP烧写时 就可以通过传送HEX文件进行烧写 2 对于烧写而言不仅仅可以通过HEX文件进行烧写 还可以通过BIN文件进行烧写 且BIN文件比HEX文件更小 设置BIN文
  • Rust的内存安全三原则:所有权、借用及生命周期

    我们接下来要探讨的概念是Rust的内存安全及其零成本抽象原则的核心 它们让Rust能够在编译期检测程序中内存安全违规 在离开作用域时自动释放相关资源等情况 我们将这些概念称作所有权 借用和生命周期 所有权有点类似核心原则 而借用和生命周期是
  • 时序预测

    时序预测 MATLAB实现2 DCNN卷积神经网络时间序列预测 目录 时序预测 MATLAB实现2 DCNN卷积神经网络时间序列预测 预测效果 基本介绍 研究背景 模型结构 建模流程 程序设计 学习总结 参考资料 预测效果 基本介绍 一种基
  • Dolby与DTS杜比环绕与DTS环绕音响

    转自 http blog sina com cn s blog a15db8ae0101dlz7 html 杜比环绕与DTS环绕具有的相近之处在于它们都是属于有损的数字压缩技术 这种称为 感性的 数据压缩技术是基于人类心理声学上所具备的听音
  • AndroidStudio运行程序时启动虚拟机出现x86 emulation currently requires hardware acceleration!问题解决方法

    这个问题是没有安装intelhaxm android exe这个软件 找到 SDK安装目录 一般在C盘下C Users admini AppData Local Android Sdk extras intel Hardware Accel
  • C++:采用vector实现二分查找及其变种总结

    主要分为六种情况 闭区间 半开区间 中位值在循环之外的半开区间二分查找首个序列 中位值在循环之外的半开区间二分查找末尾序列 以及中位值在循环之外的完全开区间二分查找首个序列和中位值在循环之外的完全开区间二分查找末尾序列 include
  • 微信小游戏开发之四:使用three.js引擎

    一 前言 微信小游戏中最魔性的 跳一跳 就是基于three js 引擎开发的 看这里 不要再让我发邮箱了 源码放到github上了 GitHub地址 请自行下载 二 下载 three min js 打开页面 复制代码到本地 三 引用 使用如
  • Qt之输入对话框(QInputDialog)的相关参数(Qt::InputMethodHints)和(QLineEdit::EchoMode)学习

    本文参考文章 Qt 编程 输入对话框 QInputDialog 的使用 学习笔记 前言 QInputDialog类提供了一个简单的便捷对话框 可以从用户那里获取用户录入的单个值 当前Qt提供了五个静态接口函数用于获取常用的数据类型参数 单文
  • 【华为OD机试真题2023 JS】上班之路

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 上班之路 知识点BFS搜索广搜 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 Jungle生活在美丽的蓝鲸城 大马路都是方方正正 但是每天马路的封闭情况都不一样
  • 在 Bash 中获取明天的日期:实用演练

    在系统管理和 shell 脚本世界中 操作日期和时间的能力至关重要 无论是用于计划任务 日志轮换还是简单地为文件添加时间戳 了解如何在脚本中使用日期都可以节省大量时间和精力 Bash Bourne Again Shell 为此提供了一组强大
  • 使用 PHP 和 Docker 设置开发环境

    本地开发环境对于 PHP 开发人员测试和调试应用程序至关重要 传统上 开发人员会依赖 XAMPP MAMP 或 WAMP 等工具 它们为本地开发提供成熟的 LAMP 堆栈 Linux Apache MySQL PHP 然而 随着应用程序变得
  • 如何使用 Iptables 在 Linux 中阻止 IP 地址

    Iptables 是 Linux 操作系统中内置的强大且灵活的防火墙工具 它用于建立 管理和配置IP数据包过滤规则表 Iptables 的常见用途之一是阻止或限制来自特定 IP 地址或 IP 地址范围的访问 本文提供了有关如何使用 Ipta
  • 如何在 Python 中创建和读取列表

    Python 是一种流行的编程语言 具有广泛的应用范围 包括数据科学 Web 开发和自动化 Python 中最基本 最重要的数据结构之一是列表 列表是值或项目的集合 可以是任何数据类型 包括字符串 整数 浮点数 甚至其他列表 在本文中 我们
  • 如何在 MacOS 上安装 Golang

    Go 是 Google 于 2009 年开发的一种编译型编程语言 由于其性能 可读性和简单性 它在软件开发行业中广受欢迎 Go 是一种通用编程语言 它的代码片段感觉很自然 与 C 或 Java 等其他语言相比 它可以用更少的代码行编写 Go
  • 什么是 Apache Prefork、Worker 和 Event MPM(多处理模块)

    Apache 是最流行的 Linux Web 服务器 大多数Linux系统管理员的学习阶段都是从Apache httpd Web服务器开始的 甚至我在学习过程中也使用过Apache Web服务器 在初始级别 系统管理员使用 Apache 他
  • 如何在 Debian 8 上安装 Ansible (Jessie)

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 本教程将帮助您在 Debian 8 Jessi