ansible相关内容
如何根据 ansible 清单组中的 ip 地址范围创建变量组?我在不同的位置有两组服务器.我想在每次剧本时创建组,以便剧本在更新的服务器列表上运行.我已经根据主机库存中的分布、生产、开发、测试、qa、dr 进行了分组. 提前致谢 解决方案 您可以在开始时扫描所有主机并根据需要对它们进行分组,例如通过网络: - 主机:所有任务:- group_by: key=network_{{
..
我在 ansible main.yml var 文件中添加了两种类型的服务器主机名: main.yml 文件: foo_server1: 10.10.1.1foo_server2: 10.10.1.2bar_server1:192.168.1.3bar_server2:192.168.1.4bar_server3:192.168.1.5 我有一个 ansible playbook,它基本
..
我知道这里有一个相关的问题:在 Jenkins 中调用 Ansible 剧本 但是这个问题在某些方面与那个不同: 所以我在单个服务器(EC2 实例)中安装了 Jenkins 和 Ansible.我创建了一个 playbook.yml,它将文件从这台服务器复制到另一台服务器.如果我使用 ec2-user 执行 ansible-playbook playbook.yml,这是成功的.
..
我发现 根据组更改 Ansible 模板中的变量.但是,如何在有孩子的小组中扩展答案? 如果我将上面链接中的组变量文件扩展为 [host0]host0.my-network.com[主机 1]host1.my-network.com[es-masters:children]主机0主机 1 如何扩展上述帖子的答案(如下所示)以使其适用于上面的组 vars 文件?简单地将 FQDN 放在 j
..
我想做这样的事情: - 复制:源代码:文件{{项目}}.xml目标:target_file{{ item }}.xml通知:重启进程{{ item }}with_sequence: start=1 end={{ number_of_process }} 预期结果:只有修改了配置文件target_file1才会重启进程1,只有修改了配置文件target_file2等才会重启进程2. 真正
..
我正在尝试使用 lineinfile 在文件中添加或编辑多行,但不起作用.我使用下面的代码没有运气 Ref: ansible: lineinfile for many lines? # vim/etc/ansible/playbook/test-play.yml- 主机:tst.wizvision.com任务:- 名称:换线行文件:目标:/root/test.txt正则表达式:“{{ item.
..
我发现 根据组更改 Ansible 模板中的变量.但是,如何在有孩子的小组中扩展答案? 如果我将上面链接中的组变量文件扩展为 [host0]host0.my-network.com[主机 1]host1.my-network.com[es-masters:children]主机0主机 1 如何扩展上述帖子的答案(如下所示)以使其适用于上面的组 vars 文件?简单地将 FQDN 放在 j
..
在 Ansible 2.0 之前,允许使用默认过滤器 "{{ oracle1.instance.reports|d().forecast|d().email|d('testing@gmail.com') }}" 其中 |d() 将允许变量(例如 reports 或 forecast)在末尾默认为默认变量(在这种情况下,默认变量是 testing@gmail.com)如果程序找不到 report
..
我正在尝试使用 yaml 文件作为清单文件,如下所示:- 产品:网络服务器:主持人:example1.com数据库服务器:主持人:example2.comexample3.com- 雄鹿:网络服务器:主持人:example3.com 它似乎不起作用,而且我在 ansible 文档 arounf yaml 清单文件中找不到太多信息.以上支持吗? 解决方案 不,不支持.您应该有不同的库存用于
..
我希望 ansible 等待我在命令行中的输入,以便在远程机器上运行交互式脚本.“期望"不符合我的要求,因为互动问题不断变化. 例如xxx.pl这必须是运行服务的用户.[root:root]': y ----> 我应该被允许实时更改处理公用事业?[/usr/bin]: y ---> 与此相同 解决方案 Ansible 无法做到这一点. Ansible 在将所有任务脚本/参数发送
..
我知道这里有一个相关的问题:在 Jenkins 中调用 Ansible 剧本 但是这个问题在某些方面与那个不同: 所以我在单个服务器(EC2 实例)中安装了 Jenkins 和 Ansible.我创建了一个 playbook.yml,它将文件从这台服务器复制到另一台服务器.如果我使用 ec2-user 执行 ansible-playbook playbook.yml,这是成功的.
..
我目前正在使用 ansible,我想自动转储我的远程数据库并将转储的文件导入我的本地数据库.现在,我在使用 sudo 切换用户时遇到了一些问题. playbook.yml ---- 主机:远程服务器变量:remote_db_name: 数据库名远程文件名:dbname_{{ 查找('管道','日期+%m-%d-%Y')}}本地文件夹:/home/alde/database_backups
..
我是这样写的: - 名称:种子测试调试:var: hostvars|json_query("*.ansible_host") 它会打印每个主机.但这不会过滤主机: - 名称:种子测试调试:var: hostvars|json_query("*[?ansible_host=='192.168.56.101']") 它只是打印一个空列表,而我确定这个主机存在.这是相关的库存行: [构建服务器
..
文件操作的文档似乎没有提到一个模块将允许我用 one 行创建一个文件.最接近的是 lineinfile 但这个模块也插入标记(所以至少三行). 该行将从变量生成,因此我不想使用传输到目标的本地文件. 有这样的模块吗?或者我应该运行一个 shell 命令,比如 command: echo {{ myvariable }} >the_file_to_create 生成它? 解决方
..
有没有办法在使用 add_host 或 group_by 模块的配置任务期间创建内存清单,例如: [SET]1.1.1.1[设置:变量]ip_address={{inventory_hostname }}[设置1]1.1.1.2[设置:变量]ip_address={{inventory_hostname }} 解决方案 是.您可以执行以下操作(如果您在问题中提供更多信息,我们可以自己提供更具
..
从 EBS 支持的实例创建 AMI 非常容易,但从基于 instance-store 的实例中创建 AMI 似乎只能使用 CLI 手动完成. 到目前为止,我已经能够使用 Ansible 从 HVM Amazon Linux AMI 引导创建基于“实例存储"的服务器,但我在接下来的步骤中迷失了......我尝试遵循此操作:http:///docs.aws.amazon.com/AWSEC2/l
..
我有一本手册,可以检查 6 个 jenkins 服务器的已安装插件列表. 这是主机文件: [大师]服务器 1服务器 2服务器 3服务器 4服务器5服务器6 这是剧本中处理获取已安装插件列表的任务: - 名称:获取 Jenkins 插件列表jenkins_script:脚本:'println(Jenkins.instance.pluginManager.plugins)'网址:“{{
..
我在每个服务器(主机)上都有一个具有不同值的键,如何将所有这些值保存在一个文件中,以便在执行我的剧本时从该文件中读取. 来自 Ansible 文档:我在 host_vars/hostname 下发现我必须为每个服务器创建一个文件并添加变量.如果我有 100 台服务器会很麻烦 解决方案 您可以在清单文件中按主机设置变量,如下所示:https://docs.ansible.com/ans
..
是否可以在 Ansible 中的远程主机上执行本地脚本,而无需将其复制然后执行? 脚本、shell 和命令模块似乎都可能是答案,但我不确定哪个是最好的. 脚本模块将自己描述为“传输后在远程节点上运行本地脚本",但给出的示例并不建议复制操作 - 例如没有 src, dest - 也许这就是答案? 解决方案 脚本模块 FTW 任务: - name:确保添加了 docker
..
我正在尝试使用 ansible-container build 命令创建简单的 Docker 映像. 而且我无法找到解决我在这样做时遇到的错误的方法. 以下是最重要的文件: main.yml ---- 主持人:scala-akka角色:- java8 container.yml 版本:“1"服务:斯卡拉阿卡:图片:ubuntu:14.04注册表:{} roles/java
..