-
175 votesanswersviews
安全地将Ansible剧本限制在一台机器上?
我正在使用Ansible进行一些简单的用户管理任务和一小组计算机 . 目前,我将我的playbooks设置为 hosts: all ,我的hosts文件只是一个列出了所有机器的组: # file: hosts [office] imac-1.local imac-2.local imac-3.local 我发现自己经常不得不针对一台机器 . ansible-playbook 命令可以限制这样... -
7 votesanswersviews
Playbook位于子目录中,而不是group_vars旁边
有没有人知道如何将playbooks放入文件夹,但共享相同的角色,group_vars和其他通常位于根目录的东西? 这是我想要的: root_dir: - group_vars - roles - inventory - playbooks - my_playbook.yml - site.yml - deploy.yml 我们的根目录现在变得非常大了,我想将一些剧本分成他们自己的文件夹(显... -
0 votesanswersviews
Ansible Tower:如果项目失败,发送电子邮件
我希望在项目失败时收到一封电子邮件 . 所以我在文件末尾创建了一个任务,向我发送电子邮件 . 现在的问题是,当任务失败时,漏洞项目也会失败,并且不会触发电子邮件任务 . 有人能帮助我吗? (我正在使用 Ansible Tower ) -
3 votesanswersviews
如何访问从cli传递的所有ansible extra-vars列表? (变量的变量)
我在使用变量变量方式从我的剧本访问extra-vars时遇到问题 . 例如,我创建了一个包含内容的group_vars / mygroup.yml文件: MYVAR=AAAA 然后我调用命令并传递额外的变量:ansible-playbook -i test playbook.yml --extra-vars“MYVAR = BBB” 我需要从存在变量列表中获取MYVAR的实际值 . 我试着这样做... -
2 votesanswersviews
在Ansible中将共享参数与环境特定参数合并
我在命令行上运行我的playbooks指定目标服务器环境,例如: ansible-playbook -e env=staging playbook.yml 现在我希望能够提供参数,例如要在服务器上创建的用户字典,以便所有环境都有用户 common ,以及我运行该playbook的 specific 到 that one 环境的用户 . 目录结构可能如下所示: ├── group_vars │ ... -
83 votesanswersviews
如何自动安装Ansible Galaxy角色?
所有我的Ansible剧本/角色都签入我的git仓库 . 但是,对于Ansible Galaxy角色,我总是必须在我想运行Ansible的每台机器上逐个明确地下载它们 . 在Ansible抱怨在运行时缺少角色之前,确切地知道确切需要哪些Ansible Galaxy角色甚至是很难的 . 如何管理Ansible Galaxy角色依赖项?我想要让他们检查我的git repo以及其余的ansible代码,... -
0 votesanswersviews
Sudo不适用于Ansible AWX
我在 /etc/ansible/ansible.cfg 设置了 sudo_user . 在我的剧本中,我将 remote_user , sudo_user 和 sudo:yes (也尝试了 sudo:True )设置在与 hosts: 相同的级别上,然后使用以下角色: shell:cp -f src / usr / local / bin / dest sudo:是的 得到 stderr:... -
0 votesanswersviews
Ansible寄存器和.changed无效
我有一个安装包的playbook,如果安装了包,则需要运行命令 . 我使用了 register <variable> 和 <variable>.changed 这样做,但是,这并没有做错 . 这是我的代码 . - name: install syncthing (arch) pacman: name=syncthing state=latest when: ansi... -
3 votesanswersviews
Ansible Tower暴露密码
在我的一本Ansible Playbooks中,我使用vsphere_guest模块在vCenter Server上创建VM . 当我使用作业模板在Ansible Tower上运行Playbook并检查主机事件时,我以纯文本形式看到密码 我没有在Playbook中以纯文本提供密码 . 实际上,它存储在Ansible Tower的“凭据”部分中,在该部分中显示为加密 . “作业”模板设置为在“ ... -
1 votesanswersviews
Ansible:更改目录问题的权限
我正在运行以下Ansible任务来更改目录及其内容的权限 . - name: Change ownership of everything below /opt/as2/app-server file: path=/opt/as2/app-server state=directory recurse=yes owner=adrt group=adrt 运行时我遇到以下问题: 任务[apps... -
63 votesanswersviews
Ansible Playbooks vs Roles
根据Ansible文档,Playbook是: ...真正简单的配置管理和多机器部署系统的基础,与已有的系统不同,并且非常适合部署复杂的应用程序 . 而且,根据那些相同的文档,Roles是: ...基于已知文件结构自动加载某些vars_files,任务和处理程序的方法 . 按角色对内容进行分组还可以轻松与其他用户共享角色 . 但是,这些与不同用例之间的区别对我来说并不是很明显 . 例如,如果... -
1 votesanswersviews
Ansible ec2仅提供所需的服务器
我有一个像这样的基本Ansible剧本: --- - name: Provision ec2 servers hosts: 127.0.0.1 connection: local roles: - aws - name: Configure {{ application_name }} servers hosts: webservers sudo: yes su... -
-1 votesanswersviews
AWS提供ansible
当我想要配置ec2时,我得到了错误 . 这就是我设置环境的方式 . 我把我的aws凭证放在〜/ .boto中 cat / etc / ansible / hosts [local] localhost cat /etc/ansible/ec2-vars/testserver.yml ec2_keypair: "ansible" ec2_security_group:... -
42 votesanswersviews
Ansible:在剧本中,按标签过滤角色而不通过命令行
在Ansible 1.7中,我可以使用命令行中的--tags来运行该playbooks任务的子集 . 但是我想要在我的剧本中加入一套角色,只运行与标签相匹配的任务 . 也就是说,我不想通过命令行传递它,因为它每次都是相同的 . 起初我以为是这个命令,但这恰恰相反:使用这些标记标记任务而不是基于此过滤掉它们 . roles: - { role: webserver, port: 5000, ta... -
3 votesanswersviews
检查哪些主机在ansible中失败了
我有两个剧本在ansible上运行,一个接一个 . 在剧本1完成之后,我想在 only 上运行第一个完成第一个剧本的主机 . 通过ansible文档,我找不到任何主机在特定剧本上失败的可访问信息 . 怎么可以这样做? 仅供参考我需要单独的剧本,因为第二部必须连续播放,这是only available at the playbook level -
0 votesanswersviews
Ansible playbook为列表中的服务器运行
Ansible Guru的快速问题 . 我想为一组特定的盒子运行一个ansible playbook,我将其复制到list.txt,忽略了ansible playbook中的库存和目标块: --- - name: Ansible Runbook v.1.0 hosts: test1 gather_facts: yes # serial: "10%" 当我运行以下命令... -
2 votesanswersviews
Ansible Registered Variable不会持续执行任务
我试图使用ansible检查是否有任何空中飞行迁移发生,然后在迁移达到0时运行任务 . 为此,我使用ansible shell模块输出迁移到stdout的总数,注册用ansible输出,并对其进行ansible测试 . Ansible似乎正在正确记录输出,但它不断地将标准输出显示为“Hello World” 这是我的测试剧本: --- - hosts: - foo - bar ... -
25 votesanswersviews
Ansible - 如何为每个主机顺序执行playbook
我使用ansible编写API的部署脚本 . 我希望这可以顺序通过我的库存文件中的每个主机,以便我可以一次完全部署到一台机器 . 使用out框行为,我的playbook中的每个任务都会在清单文件中为每个主机执行,然后再继续执行下一个任务 . 在下一个主机上启动之前,如何更改此行为以执行主机的所有任务?理想情况下,我想只有一本剧本 . 谢谢 -
5 votesanswersviews
Ansible:如果主机无法访问,则中止执行
摘要:如果任何主机无法访问,则立即中止ansible playbook的更好方法 . 如果任何一个主机无法访问,有没有办法中止Ansible playbook . 我发现,如果它无法到达主机,它仍将继续执行并执行剧本中的所有播放/任务 . 我的所有剧本我指定max_fail_percentage为0,但在这种情况下,ansible不会抱怨,因为所有可访问的主机都可以执行所有播放 . 目前我有一个简... -
2 votesanswersviews
Ansible无法制作dir /$HOME/.ansible/cp
我运行ansible时遇到一个非常奇怪的错误: GATHERING FACTS *************************************************************** fatal: [i-0f55b6a4] => Could not make dir /$HOME/.ansible/cp: [Errno 13] Permission denied: ... -
2 votesanswersviews
ansible:从同一个剧本中的其他剧本访问注册变量
我正在尝试从第二个剧本中我的剧本中的第一个“播放”中访问名为“count”的变量 . 我在这里发现了一些关于同一问题的其他帖子,我认为我正在遵循正确的步骤,但下面的代码仍然失败 . The Code - hosts: group1 tasks: - name: count registrations on primary node shell: psql -U widgets wi... -
2 votesanswersviews
在Ansible Playbook中指定PostgreSQL密码
Ansible的新功能,运行版本2.1.0 . 我编写了一个Ansible playbook,它针对一组主机运行PostgreSQL查询 . 当我在shell命令中指定SQL DB密码时,它可以工作,但我希望针对一组主机运行该剧本,并且需要一种更好的方式来输入密码,因为它们都是唯一的 . 有谁能建议一个更好的方法来做到这一点? --- - hosts: Test_Hosts sudo... -
0 votesanswersviews
Ansible复制和同步模块失败:没有名为ansible的模块
试图使用一个使用同步模块的Ansible的剧本,但我收到错误: 回溯(最近一次调用最后一次):文件“/export/home/webops/.ansible/tmp/ansible-tmp-1433165514.33-173345229349905/synchronize”,第21行,来自ansible import utils ImportError:没有名为ansible的模块 我在复制模... -
0 votesanswersviews
ansible远程脚本执行登录本地机器
我有python脚本,基本上在远程机器上验证已安装的服务 . 这个脚本将在远程机器上运行,我使用ansible来调用这个脚本 . 我在将脚本记录到本地机器的文件时遇到了麻烦 . test.yml (Ansible) - name: Verifying route ,run script to analyse temp_route.txt file script: /scripts/... -
10 votesanswersviews
Ansible Playbook运行Shell命令
我最近潜入了Ansible的一台服务器,发现它真的很有趣,省时省力 . 我正在运行一个Ubuntu专用服务器,并配置了许多用Python编写的Web应用程序和一些用PHP编写的Web应用程序 . 对于Python,我使用uwsgi作为HTTP网关 . 我编写了shell脚本来启动/重启几个进程,以便运行特定Web应用程序的实例 . 我每次都要做的是,连接ssh并导航到该特定应用程序并运行脚本 . ... -
1 votesanswersviews
通过ansible playbook在python终端中运行命令
我是ansible的新手,但我正试图通过一个ansible playbook在python终端内运行一些命令 . 具体来说,我想下载一个语料库 . $python >import nltk >nltk.download > ~ d (download) > ~ book > ~ q (quit) >quit() 目前,我的playbook文件创建了一个virt... -
40 votesanswersviews
如何为文件中的动态库存提取的服务器定义ssh私钥
在为ssh私钥文件编写ansible playbook时遇到了一个配置问题 . 我们知道,我们可以在静态库存服务器的ansible hosts文件中定义与主机服务器,ip和相关ssh私钥的组合 . 但我不知道如何使用动态库存服务器来定义它 . 例如: --- - hosts: tag_Name_server1 gather_facts: no roles: - role1 - h... -
5 votesanswersviews
ansible-playbook在设置时挂起
我正在尝试运行ansible-plabook,但它在设置时挂起 . 我的剧本做了很多工作,如调用不同的角色和模块,它也收集事实 . 它过去工作得很好,但现在我不知道出了什么问题,任何帮助表示赞赏 主机操作系统是RHEL 7在这些系统之间设置 ssh无密码身份验证 我的库存文件只包含1个主机系统 我跑的命令是 ansible-playbook -i /tmp/tmpBo5Xmj -... -
9 votesanswersviews
AWS EC2实例通过Ansible IAM角色创建instance_profile_name UnauthorizedOperation:错误
我试图通过ansible使用IAM角色创建EC2实例,但我在启动新实例时遇到错误 failed: [localhost] => (item= IAMRole-1) => {"failed": true, "item": " IAMRole-1"} msg: Instance creation failed => Unau... -
28 votesanswersviews
如何使用Ansible重新启动Jenkins并等待它回来?
我正在尝试使用Ansible重新启动Jenkins服务: - name: Restart Jenkins to make the plugin data available service: name=jenkins state=restarted - name: Wait for Jenkins to restart wait_for: host=localhost p...