ansible-2.x相关内容
我正在使用 VirtualBox 运行 16.04 Ubuntu 桌面计算机.此 VM 已安装 Ansible 2.4.0.我正在尝试运行一个特别的 ansible 命令来证明它有效(我正在做一个在线课程).为了模拟一个小型服务器群,我使用 lxc(linux 容器)并运行其中三个: root@tomasz-VirtualBox:/home/tomasz/ansible# lxc-ls --fa
..
寻求帮助解决我几个小时以来一直在努力解决的问题.我想迭代一个列表,运行一个命令,为每个命令注册输出,然后在每个唯一的寄存器 {{ someregister }}.stdout 上迭代调试 例如下面的代码会吐出"msg":"1"和"msg":"2" ---- 主机:本地主机收集事实:假变量:数字:- 名称:“第一"整数:“1"- 名称:“第二个"整数:“2"任务:- 名称:寄存器输出命令:“/
..
我想使用 ansible playbook 执行下一个命令: curl -X POST -d@mesos-consul.json -H "Content-Type: application/json" http://marathon.service.consul:8080/v2/apps 我该如何运行它? 如果我跑: - 姓名:邮寄给领事里:网址:http://marathon.ser
..
我的服务器上有一个 ansible 2.1.0,我在那里通过 vagrant 和 PC 进行部署.“部署"角色有: - 名称:上传代码变成:真的成为用户:www-datagit: repo=git@bitbucket.org:****.gitdest=/var/www/mainkey_file=/var/www/.ssh/id_rsaaccept_hostkey=true更新=是力=是注册:fr
..
在我的剧本中,我需要为一个仓库创建一个符号链接. 使用命令(shell),它可能像这样工作: ########## 创建符号链接- 名称:创建符号链接外壳:ln -s "{{SOURCE_FOLDER}}" 符号链接参数:chdir : "/opt/application/i99/"什么时候:- ansible_host 分组['ihm'] -> 像这样,我的符号链接是直接在 i99 存
..
我有一个可靠的剧本来杀死正在运行的进程,并且大部分时间都运行良好!但是,有时我们会发现无法杀死的进程,因此“wait_for"超时,引发错误它停止了这个过程. 当前的解决方法是手动进入框,使用“kill -9"并再次运行 ansible playbook,所以我想知道是否有任何方法可以从 ansible 本身处理这种情况?,我的意思是,我不'不想从一开始就使用 kill -9 但我可能是一种
..
我有一些 Ansible 任务,它们执行很长的操作——比如使用 S3 文件夹运行同步操作.并不总是很清楚它们是否在进行中,或者只是卡住了(或者 ssh 连接已经死亡),因此显示某种进度输出会很好.如果直接显示命令的 stdout/stderr,我会看到,但 Ansible 会捕获输出. 将输出回传是 Ansible 以当前形式解决的一个难题.但是,我可以使用任何 Ansible 技巧来提供某
..
我有多个任务取决于 variable1 的值.我想检查值是否在 {{variable1}} 中,但出现错误: - name:当变量1中的值出现时做某事命令:时间:“{{variable1}} 中的‘值’" 我使用的是 ansible 2.0.2 解决方案 如果 variable1 是一个字符串,并且您正在其中搜索一个子字符串,这应该有效: when: '"value" in vari
..
我正在尝试将一些带有 when 条件的任务包含在块中.此块中的一些任务还有其他条件.问题是这些任务(带有附加条件)被跳过.块的条件和所有附加条件都为真. 下面是一个示例播放: - 块:- 设置事实:package_to_install: "{{ packages_to_install }} + [ '{{ (distrs.stdout | from_json).postgresql }}'
..
我知道我可以使用 Ansible 的 debug 模块打印出标准,如下所示: ---- 主持人:所有任务:- 名称:列出/root 文件夹下的文件命令:ls/root注册:出- 名称:标准输出调试:var=out.stdout_lines 来自 的回答如何使用 Ansible 2.0 Python API 运行 Playbook?,我可以使用 Python 代码运行 Ansible playb
..
我有一个简单的剧本,应该显示我的服务状态.我想查看机器的输出以查看状态是否处于活动状态.所以我使用了调试打印,如下所示: - 名称:name_of_servicesshell: systemctl status {{item}}with_items:- 服务 1- 服务 2注册:出- 调试:var=item.stdout_lineswith_items: out.results 当我执行这个时
..
我正在尝试使用 Ansible 修改配置文件中的 URL 值 $CONSOLE_URI = "http://172.18.18.103/controller/"; 我正在使用 lineinfile 模块,但它不起作用,我试图用双反斜杠转义 $,但它也没有用. - lineinfile: dest=/etc/log.conf regexp='^\\$CONSOLE_URI' line='$C
..
有一本这样的字典: ossec_datacenter:亚特兰大:主机名:'server1.fakedomain.net'ip: '192.168.12.170'端口:'1515'迈阿密:主机名:'server2.fakedomain.net'ip: '192.168.20.31'端口:'1514'达拉斯:主机名:'server2.fakedomain.net'ip: '192.168.20.20
..
我有 9 台服务器,我正在尝试使用 ansible 安装一个软件包,我可以使用密码通过 ssh 连接到其中的 5 台服务器,而其他 4 台在 ssh 连接时不会询问任何密码. 但是我已经将 id_rsa.pub 密钥复制到了所有 9 个服务器. 现在 ansible 脚本在 5 个服务器上运行良好,但剩下 4 个我收到以下错误消息. 致命:[xxx0?]:失败!=> {"chan
..
是否可以在 command 或 shell 模块上使用变量?我有以下代码,我想使用变量文件来提供一些配置: 我想从我的变量文件中读取 Hadoop 版本.在 ansible 的其他模块上,我可以使用 {{ansible_version}},但使用命令或 shell 则不起作用. - 名称:启动ZooKeeper HA命令:hadoop-2.7.1/bin/hdfs zkfc -format
..
我为本地和开发环境编写了一个特定角色,该角色将从主要用作主数据库的 dbserver 组中的第一台服务器删除并重新创建数据库. group_vars/dbserver[数据库服务器]vagrant1 # 主数据库vagrant2 # 从数据库 之后,如果我需要删除数据库并再次创建数据库,基本上我只需要在组中的第一台服务器上运行该命令. - 名称:删除数据库mysql_db: name={{
..
我为本地和开发环境编写了一个特定角色,该角色将从主要用作主数据库的 dbserver 组中的第一台服务器删除并重新创建数据库. group_vars/dbserver[数据库服务器]vagrant1 # 主数据库vagrant2 # 从数据库 之后,如果我需要删除数据库并再次创建数据库,基本上我只需要在组中的第一台服务器上运行该命令. - 名称:删除数据库mysql_db: name={{
..
我正在尝试比较一些变量,所以这是我的情况: pg_master_ip 显然是一个ip. ansible 不解析 pg_master_ip. bond0.stdout 是早期注册任务的结果. 如果我可以使用 {{ hostvars[inventory_hostname]['ansible_bond0'].ipv4.address }} 我会更开心,但我不知道如何. - 名称
..
我正在尝试使用 ansible 获取已经存在并附加到 ec2 实例的 aws 卷 ID.我有一个使用 ec2_remote_facts 模块的查找任务,该模块获取 ec2 实例的详细信息,包括卷 ID 详细信息任务: - 名称:查找 ec2 虚拟机ec2_remote_facts:aws_access_key: "{{aws_access_key}}"aws_secret_key: "{{aws
..
如果文件在特定子网中有接口,我想将文件的一个版本复制到服务器,如果在该子网中没有接口,我想将文件的一个版本复制到服务器.下面是一个工作,但我认为不是最佳解决方案.我希望有一种更好的方法可以满足以下条件... 保持动态(使用事实,我不想为每个服务器手动设置变量并手动为子网中和不在子网中的服务器创建组) 减少重复(可以在一项任务中处理吗?) 不必列出所有可能的接口名称(例如 eth0、eth
..