Questions tagged «ansible»

使用此标签可解决有关开源自动化引擎Ansible的问题,该问题与将Ansible用于诸如云供应,配置管理,应用程序部署等主题有关。

3
如何在Vagrant多机设置中配置SSH密钥?
我的Vagrantfile中有4个VM-3个应用程序服务器和一个Ansible控制主机。 我只使用Vagrant来创建VM,因为我仍在创建/编辑Ansible脚本时,从Ansible控制主机手动配置它们。 我可以执行其他操作vagrant ssh ansible,vagrant ssh app1/2/3但是当我尝试ansible-playbook oracle.yml从Ansible控制主机执行操作时,SSH失败并显示 fatal: [192.168.60.10]: UNREACHABLE! => {"changed": false, "msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue", "unreachable": true} 我可以使用用户无业游民和密码无业游民成功地将Ansible VM切换到Oracle VM。 我的Vagrantfile的关键部分是: config.ssh.insert_key = …
11 ansible  vagrant 

2
我应该如何存储环境变量?
这是一个有关环境变量/结构的方法和建议的非常广泛的问题。但是最终,我正在寻找非常具体的问题“我应该如何存储环境变量?”的答案。 首先进行一些澄清: 对我来说,环境可以是3到10台服务器,并且是包含特定客户基础结构的一种方式。 在每个环境中,都有一些变量,这些变量通常是由一些关键输入(名称,大小等)自动生成的。 就目前而言,我们将所有环境变量存储在这样的结构中: <playbook>.yml # Various playbooks for deployment roles/windows # Ansible role for Ubuntu roles/ubuntu # Ansible role for Ubuntu config/hosts/<name>.yml # Ansible inventory config/hosts/vars/<name>.json # Environment specific variables 现在,配置已被初始化为上述git存储库中的子模块。由于变量文件的更改非常频繁,这导致了数据更改的问题,两次提交之间发生了一次,两次甚至三遍,使得更改越来越难以跟踪。 正如我个人看到的那样,我们应该寻求以集中/可扩展的方式存储我们所有的客户变量,然后将其与ansible的动态库存挂钩。 我了解有几种技术似乎可以满足要求,例如Consul,但它们似乎在服务于一个大型应用程序而不是许多较小的略有不同的应用程序的环境中效果最佳。 我基本上看到我们必须编写清单脚本,然后将所有数据推送到一个非专用的内置数据库中,然后继续进行,就好像什么都没有改变一样。我认为这可能是一种减少当前存储的大量数据的方法,也许是研究存储数据的不同方法,而不仅仅是扩展再次提供服务的方法。 我希望有人在必须处理许多较小的环境而不是一个,两个或三个大环境时,具有将基础结构实现为代码的某种经验。 有什么建议么?

1
如何自动从RabbitMQ集群中删除死节点
我计划在AWS VPC上使用Ansible并使用Amazon内部负载均衡器作为指向其连接的前端来创建RabbitMQ集群。 有什么建议如何基于自动伸缩规则从RabbitMQ集群中删除死节点,在该规则中节点可以上下移动,或者如果您使用竞价型实例? 当节点发生故障时,RabbitMQ不会自动将其从复制列表中删除,我可以Node not running在管理UI中看到。 我设法通过Ansible和userdata自动将扩展实例加入集群。

2
Ansible动态广告资源-使用下划线而不是点在特定标签下生成IP地址在下面的广告资源
我是Ansible的新手。当我使用ec2.py动态清单来生成清单时,剧本运行完毕后,结果将显示为特定标签下的IP地址列表,并带有下划线而不是点。例如,我想在具有特定标签的实例上运行一个剧本,不知道其他人如何使用IP地址? --- - hosts: tag_test_staging sudo: true tasks: - name: Make sure that we can connect to the machine ping: PLAY RECAP ********************************************************************* 10_80_20_47 : ok=0 changed=0 unreachable=1 failed=0 对于私有地址,ec2.ini: hostname_variable = private_ip_address destination_variable = private_ip_address vpc_destination_variable = private_ip_address 来自ec2.py的结果: "tag_test_staging": [ "10_80_20_47" ], 对于ec2.ini公共地址: hostname_variable = ip_address destination_variable = …
11 ansible 

2
什么是ansible-runner?
我已经从github存储库以及ansible-runner 的文档站点(来自官方的ansible项目)中读取了README文件,但是我不了解ansible-runner的含义,在什么情况下它有用吗?它是一个带有附加功能的项目,还是被创建为以另一种方式运行ansible?

4
如何在代码存储库中构建与DevOps相关的代码和配置?
作为一家公司,我们一直在发展,我们的产品也在扩展,与DevOps相关的活动和努力也在不断增长-我们已经使用部署管道和其他插件从Bamboo转变为更加灵活和可配置的Jenkins。切换到Ansible并开始在本地和本地使用Docker。 所有这些都需要一定程度的编码或配置-Ansible脚本和配置,Jenkins groovy脚本,Dockerfile和YAML配置。 现在,我们已经创建了一个独立的“OPS”资源库和高层次的目录jenkins,ansible,docker和other(这是一个可怕的名字,但现在所有的“其他”的DevOps自动化的东西在那里)。 我们的方法感觉不正确,可能无法扩展,但是将与DevOps相关的代码保留在一个或多个代码存储库中的最佳实践和建议是什么?

1
如何在apt-get升级或安装过程中自动保留配置文件?
在apt-get update; apt-get upgrade -y服务器上执行时,我遇到了以下消息: Setting up sudo (1.8.16-0ubuntu1.5) ... Configuration file '/etc/sudoers' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package …

7
如何将任务输出记录到文件中?
我的一项艰巨的任务是使用导入Oracle数据库impdp。 这会产生很多输出到控制台,所以我已经设置了no_log: True。 但是,如果失败,我想查看日志! 如何使此特定任务记录到文件而不是控制台?
10 ansible  logging 

5
配置管理工具是否适合用作部署工具?
我没有回答这个问题:DevOps如何帮助改善软件托管程序?Tensibai的问题是: 在木偶或厨师的头上需要Capistrano是什么? 我的回应是发布指向Noah Gibbs的文章“我们需要Capistrano和Chef吗?”的链接。。我个人仍然同意诺亚的观点,它最适合: 使用专业的部署工具(例如Capistrano)进行部署。 使用专业的配置管理工具(例如Chef)进行配置管理。 每种类型的工具用来完成其任务的基本方法都非常不同: 配置管理工具 -与创建和维护系统的期望状态有关,它们本质上是固有的。配置管理工具的示例包括Chef,Puppet,Ansible,PowerShell DSC,Salt Stack。 部署工具 -与将软件版本交付到主机环境有关,它们提供的功能可以在多台计算机上维护软件的多个版本并管理哪个版本是“当前”版本,它们本质上是必不可少的。部署工具的示例包括Capistrano,Octopus Deploy,Deployer和Command.io。 我确实相信配置管理工具可以完成部署工具的工作,并且在不可变基础架构的情况下,它们是最合适的工具,因为不需要维护目标上的软件版本。 问题: Chef,Ansible和Puppet等配置管理工具是否已成熟到可以同时满足幂等和命令式模型的程度?

2
根据操作系统在Ansible中使用角色和主机部署VM
我在解决如何最好地将主机/角色应用于Ansible中的不同操作系统时遇到问题。 我当前正在使用Ansible生成Windows / Mac / Linux VM,并且每个VM具有不同的角色,需要将其应用于它们。 我已经阅读了最佳实践并尝试遵循这些最佳实践,尤其是使用分组方法,但是我仍然不确定,因为它们大多提到了Web服务器和dbserver。 site.yml - name: Apply common configuration to all nodes hosts: all roles: - common - name: Configure and deploy test node 1 hosts: build-test-node roles: - build-machine-test-1 - name: Configure and deploy test node 2 hosts: build-test-node-2 roles: - build-machine-test-2 环境/测试/组 [win_build_nodes] …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.