问题标签 [ansible-playbook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2435 浏览

ansible - 如何使用 root 用户运行 Ansible,然后切换到另一个用户?

我在 Linode 上有我新的 Ubuntu 服务器,并且我有该服务器的 root 密码。

现在我的 Ansible 剧本是这样的:

我想将剧本执行为user1,但事情user1尚不存在,我不想将角色运行为root。我需要user1在运行剧本之前手动创建。有什么办法可以自动化吗?

0 投票
4 回答
153421 浏览

ansible - Ansible:将变量设置为文件内容

我正在使用 ec2 模块,ansible-playbook我想将变量设置为文件的内容。这是我目前的做法。

  1. 带有文件名的变量
  2. 外壳任务cat文件
  3. 使用 的结果cat传递给 ec2 模块。

我的剧本的示例内容。

我认为有一种更简单的方法可以做到这一点,但是在搜索 Ansible 文档时我找不到它。

0 投票
1 回答
11288 浏览

yaml - 如何在 Yaml 中连接多个字符串和变量?

我需要做这样的事情:

我试过这个但没有用,它说有一个语法错误:

实现(我在 Ansible 中使用这些文件)似乎支持连接,例如这工作正常:

有任何想法吗?

0 投票
2 回答
24569 浏览

ansible - Ansible 从命令行获取用户名

在我的剧本中,我经常引用用户名(仅是它的“ubuntu”)。

是否有一种内置方式可以说“从命令行中传递的值中获取它”?

我知道我能做到

然后我可以{{user}}在剧本中使用,但是两次定义用户感觉很奇怪。

0 投票
4 回答
9974 浏览

bash - ansible:远程机器上的文件是否有类似 with_fileglobs 的东西?

我正在尝试将这些行变成可以放入 ansible 剧本的内容:

到目前为止,我有以下内容:

我知道它不一样,但它会选择相同的文件:除了 with_fileglob 在主机上查找,我希望它在远程计算机上查找。

有什么办法可以做到这一点,还是我应该只使用 shell 脚本?

0 投票
4 回答
71041 浏览

ansible - ansible lineinfile 中的引号

当我lineinfile在 ansible 中使用时,它不是写作'"字符 lineinfile: 'dest=/home/xyz state=present line="CACHES="default""'

它正在提供,CACHES=default 但所需的输出是CACHES="default"

如何做到这一点?

0 投票
2 回答
1895 浏览

python - 如何在 Ansible 中迭代用户列表并在机器上创建每个用户?

我有一个来自外部源和远程机器的用户列表。我想从外部源获取列表并将其与我当前机器的用户列表进行比较,并为机器上不存在的每个用户创建用户。

我已经使用ansible runner(下面的伪代码)尝试了这个:

这将调用 Ansible.runner 对象并进行以下调用:

现在组和状态是全局定义的。我的问题是,当它遍历 for 循环时,它确实创建了我指定的用户;主要问题是它创建了用户,然后每个用户的主目录的权限不允许用户访问它。所以说“joeshmo”是一个用户:他将无法写入自己的 ~/ 目录。

我正在寻找一些关于我如何做到这一点的指导。剧本有没有办法动态迭代文件并获取不同的用户名以将它们作为用户添加到系统而不会出现权限错误?有没有办法修复我当前的脚本没有这些错误?

谢谢

0 投票
1 回答
3417 浏览

ansible - 尝试使用 ansible 构建包时找不到命令

我有一个构建 etcd 的简单 ansible 剧本:

因此,当我以 root 身份在遥控器上启动 ansible-playbook 时,“Build etcd”失败并出现错误:

失败:[test] => {"changed": true, "cmd": ["./build"], "delta": "0:00:00.002628", "end": "2014-06-10 07: 44:23.952227", "rc": 127, "start": "2014-06-10 07:44:23.949599"} stderr: ./build: 17: ./build: go: not found

“build”中的第 17 行包含以下内容:

但是安装了 go,我可以在远程服务器上手动构建 etcd。我究竟做错了什么?

0 投票
4 回答
23173 浏览

yaml - Ansible lineinfile insertafter 在文件末尾注入行

我正在使用 lineinfile 如下:

hosts_exp的如下:

lineinfile 在 [hosts3] 之后插入文本,而不是在 [hosts1] 之后插入文本。

0 投票
1 回答
1252 浏览

ssl - 无法使用 Ansible 在 ELB 上添加 SSL 证书

我正在尝试创建一个弹性负载均衡器并使用现有的 SSL 证书来保护它,如下所示 -

但它没有添加监听器:SSL - TCP

添加了另一个侦听器并在控制台中可见:HTTP/80

为什么缺少 SSL ?我是否缺少任何必需的参数?