Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何设置Ansible AWS的动态清单

如何设置Ansible AWS的动态清单

原创
作者头像
JFrog杰蛙科技
修改于 2020-06-24 06:38:09
修改于 2020-06-24 06:38:09
1.6K0
举报
文章被收录于专栏:JFrog杰蛙DevOpsJFrog杰蛙DevOps

当您将Ansible与AWS结合使用时,维护清单文件将是一项繁重的任务,因为AWS经常更改IP,自动缩放实例等。但是,有一个简单的解决方案就是ansible动态清单。它基本上是一个Python脚本,当您运行ansible命令时会进行API调用以获取实例信息。这将为您提供动态清单详细信息,这些信息可以用来方便管理AWS基础架构。

设置Ansible AWS动态清单

1.使用pip安装boto库。如果您尚未安装pip,则可以按照此文档进行安装–> 安装python pip

pip install boto

2.将清单脚本下载到/ etc / ansible目录。

Wget https://raw.github.com/ansible/ansible/devel/contrib/inventory/ec2.py

3.使文件可执行。

chmod + x ec2.py

4.将ec2.ini文件下载到/ etc / ansible目录。

https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.ini

5. ec2.ini文件具有默认的AWS配置,可通过ec2.py文件读取。因此,请注释掉并配置必要的参数,以免查询时间过长。这样的例子就是“ regions”参数。默认情况下,该值为“ all”。这样可以对所有区域进行API调用。因此,最好只提及您使用的特定aws区域。

在[credentials]部分下,您需要提及abos访问密钥和私钥,以便boto库进行API调用。

或者,您可以在家里创建一个凭证文件,如下所示。

touch ~/.aws/credentials

打开凭证文件,然后如下所示进行输入。

[default]

aws_access_key_id = YOUR_ACCESS_KEY

aws_secret_access_key = YOUR_SECRET_KEY

注意:如果您正在使用AWS实例进行此设置,并且具有具有访问AWS服务权限的IAM角色,则无需将访问密钥和秘密密钥添加到凭证文件中

6 现在,使用以下命令测试清单配置。

./ec2.py --list

应该获得如下所示的输出。

{

  “ _meta”:{

    “ hostvars”:{}

  }

}

如果您有一些实例正在运行,则将获得包含所有实例详细信息的输出。

7.如果要将动态清单用作默认的ansible清单,则需要编辑/ etc / ansible目录中存在的ansible.cfg文件,并在ansible.cfg中搜索清单参数。如下所示更改库存参数值。

inventory      = /etc/ansible/ec2.py

现在,您可以对动态清单资源运行正常的ansible命令。例如,以下命令将对使用动态清单获取的所有正在运行的ec2实例运行ping命令。

ansible all -m ping

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
现代 IT 人一定要知道的 Ansible系列教程:Ansiable配置
Ansible 中的某些设置可通过配置文件 (ansible.cfg) 进行调整。 库存配置对于大多数用户来说应该足够了,但您可能出于某些原因想要更改它们。
用户1418987
2024/01/12
3200
《Ansible自动化运维:技术与最佳实践》第二章读书笔记
当更新 Ansible 版本时,要更新 git 源码树以及 git 中指向 Ansible 自身的模块(称为 submodules)
武培轩
2019/09/12
1.2K0
Ansible
172.10.0.18主机不可达,ansible是基于ssh的,ansible不知道172.10.0.18这台主机的用户名和密码,所以ansible无法连接到它。 我们可以在清单文件中加入对应主机的用户名和密码,也可以基于密钥的方式
陳斯托洛夫斯記
2022/10/27
8770
Ansible
Ansible 2 -- 2 环境配置
Ansible配置以ini格式存储配置数据,在Ansible中几乎所有配置都可以通过Ansible的Playbook或环境变量来重新赋值。在运行Ansible命令时,命令将会按照以下优先级查找配置文件。
mafeifan
2019/07/15
8770
002. Ansible部署及配置介绍
提示:建议将PIP升级到最新:pip install --upgrade pip。
木二
2019/07/01
7640
[Ansible专栏]Ansible安装和基本使用
以上只是一小部分关于default的相关配置,还有其他更多的配置这里暂时不一一列举。因为ansible的大部分参数都可以保持默认,无需更改。但是当你的被管理机器数量增加以后,建议将forks数量适当的调整。
没有故事的陈师傅
2022/12/06
9700
自动化运维利器 ansible-入门
ansible 是一款强大的配置管理工具,诣在帮助系统管理员高效率地管理成百上千台主机。设想一个主机是一个士兵,那么有了 ansible ,作为系统管理员的你就是一个将领,你可以通过口头命令,即一次下发一条命令(ansible ad-hoc 模式)方式让一个或一组或全部的士兵按你的指令行事,也可以将多条命令写在纸上(ansible playbook 模式), 需要执行命令时只需要提供这张纸即可。你可以让多个士兵同时做相同或不同的事情,可以方便的让新加入的士兵快速加入已有的兵种队伍,也以快速改变兵种(配置管理),一句话,士兵都严格听你的,你做好命令的设计,ansible 自动帮你发布和执行。
somenzz
2020/12/10
1.7K0
Ansible自动化运维工具
Ansible 是一个极其简单的 IT 自动化平台,可让您的应用程序和系统更易于部署和维护。从代码部署到网络配置再到云管理,使用一种接近简单英语的语言,使用 SSH 实现一切自动化,无需在远程系统上安装代理。
BoyChai
2022/06/22
2.6K0
Ansible自动化运维工具
Jenkins自动化部署--集成ansible
Ansible采用了与Puppet、Chef不一样的解决方案,不需要在受控机器上安装额外的客户端软件。原因是Ansible使用的是SSH协议与受控机器进行通信的,一般服务器默认有SSH服务。Ansible也因此被称为agentless (去客户端的)。
陈不成i
2021/06/02
3.5K0
如何编写yaml格式的Ansible主机清单(inventory)及清单变量使用Demo
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波
山河已无恙
2023/01/30
2.3K0
小试Ansible
Ansible 从 2.5 版开始就已经支持 python3。如果你在使用 conda 管理你的 python 环境,那么切换到你的环境,通过使用 pip 直接安装就好。
dhyuan
2022/05/30
3020
CDP私有云集群自动化部署
在 Cloudera,我们一直相信自动化是交付安全、随时可用且配置良好的平台的关键。因此,我们很高兴地宣布公开发布基于 Ansible 的自动化来部署 CDP 私有云基础集群。通过以这种方式自动化集群部署,您可以降低配置错误的风险,促进环境中跨多个集群的一致部署,并帮助更快地交付业务价值。
大数据杂货铺
2021/07/02
2.1K0
ansible环境搭建
最近准在学习ansible自动化运维工具,这个ansible老厉害了,可以一条命令或者一个playbook剧本批量处理上百台服务器任务。本文和大家聊聊ansible环境搭建那些事。
吾爱运维
2022/09/29
9910
ansible环境搭建
Ansible PlayBook的中变量优先级分析及清单变量解耦总结
「 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波」
山河已无恙
2023/01/30
5.5K0
Ansible PlayBook的中变量优先级分析及清单变量解耦总结
运维自动化工具ansible
公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备。公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大为了在年底有所表现,要求运维部门同学尽快实现,当你接到这个任务时,有没有更快的解决方案?
咻一咻
2020/05/29
3.4K0
Ansible介绍、安装与配置教程
Ansible是一个自动化运维工具,大规模节点化管理。 优点: (1)简单,SHELL脚本能做的事情,Ansible都能做。Playbook可读性很强。 (2)强大,模块化实现,约2000多模块,如copy模块。 (3)YAML格式文件,严格的缩进。 (4)真正实现自动化运维的基础(docker是针对应用做容器化,而Ansible针对全局),有CI和CD的集成思想。 (5)最大的优点,puppet saltstack 被管理节点一定需要安装客户端的,但是ansible是agentless无客户端,完全ssh管理。
Power
2025/03/03
2210
Ansible服务端安装与配置
1、ansible是自动化运维工具,基于Python开发,实现批量部署、配置、运行等。
用户5760343
2022/05/24
1.1K0
Ansible服务端安装与配置
第一章·自动化运维工具-Ansible基础
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
4360
第一章·自动化运维工具-Ansible基础
Ansible快速入门
Ansible是一种自动化运维工具,基于paramiko开发的,并且基于模块化工作,Ansible是一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台,它是基于python语言,由Paramiko和PyYAML两个关键模块构建。集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能,Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架,Ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。
子润先生
2021/07/07
4530
Ansible自动化运维安装与简单使用
Ansible 简单的说是一个配置管理系统(configuration management system)。你只需要可以使用 ssh 访问你的服务器或设备就行。它也不同于其他工具,因为它使用推送的方式,而不是像 puppet 等 那样使用拉取安装agent的方式。你可以将代码部署到任意数量的服务器上。
星哥玩云
2022/07/26
6880
Ansible自动化运维安装与简单使用
相关推荐
现代 IT 人一定要知道的 Ansible系列教程:Ansiable配置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档