标签: ansible

如何查看 ansible 命令的标准输出?

如何查看 ansible-playbook 命令的标准输出?-v 只显示 ansible 输出,而不是单个命令。如果我能立即弄清楚如何执行此操作,那就太好了,因此如果出现故障或挂起,我可以了解原因。

例如

- name: print to stdout
  action: command echo "hello"
Run Code Online (Sandbox Code Playgroud)

会打印

TASK: [print variable] ******************************************************** 

hello
Run Code Online (Sandbox Code Playgroud)

debugging stderr stdout ansible

225
推荐指数
4
解决办法
43万
查看次数

如何安全地使用每个主机的密码实现 ansible?

我想使用ansible来管理一组现有的服务器。我创建了一个ansible_hosts文件,并-K使用仅针对单个主机的命令进行了成功测试(使用选项)

ansible -i ansible_hosts host1 --sudo -K # + commands ...
Run Code Online (Sandbox Code Playgroud)

我现在的问题是每个主机上的用户密码都不同,但是我在 Ansible 中找不到处理此问题的方法。

使用-K,我只被提示预先输入一个 sudo 密码,然后似乎在没有提示的情况下为所有后续主机尝试:

host1 | ...
host2 | FAILED => Incorrect sudo password
host3 | FAILED => Incorrect sudo password
host4 | FAILED => Incorrect sudo password
host5 | FAILED => Incorrect sudo password
Run Code Online (Sandbox Code Playgroud)

迄今为止的研究:

security sudo ansible

118
推荐指数
4
解决办法
4万
查看次数

include_tasks 和 import_tasks 有什么区别?

在 Ansible 2.4 中,该include模块已弃用。取而代之的是,它附带了两个替换模块,import_tasks以及include_tasks. 但它们有非常相似的描述:

  • include_tasks:包含一个文件,其中包含要在当前剧本中执行的任务列表。
  • import_tasks:导入要添加到当前剧本以供后续执行的任务列表。

什么时候用前者,什么时候用后者?

ansible

99
推荐指数
2
解决办法
8万
查看次数

如何为 SSH 连接设置默认的 Ansible 用户名/密码?

我正在使用 Ansible,并且我的库存/全部中有此配置:

[master]
192.168.1.10 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant

[slave]
192.168.1.11 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant
192.168.1.12 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant

[app]
192.168.1.13 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant

[all:children]
master
slave
Run Code Online (Sandbox Code Playgroud)

我不想为每个新实例重复所有参数。如何仅在一处配置它们?有没有这些参数的文件?

ansible

91
推荐指数
4
解决办法
34万
查看次数

Ansible:仅在指定标签时执行任务

Ansible 标签只能用于运行任务/角色的子集。这意味着默认情况下所有任务都会执行,我们只能阻止某些任务执行。

我们可以限制任务在指定“foo”标签时执行吗?我们可以在when任务的一部分中使用当前标签吗?

ansible

90
推荐指数
7
解决办法
10万
查看次数

使用 ansible 将用户添加到其他组

如何使用 Ansible 将用户添加到其他组?例如,我想在sudo不替换用户现有组的情况下将用户添加到组中。

ansible

79
推荐指数
3
解决办法
9万
查看次数

如何在ansible中统一包安装任务?

我从ansible开始,并将使用它在几个 Linux 发行版上安装软件包。

我在文档中看到yumapt命令是分开的 - 统一它们并使用这样的东西的最简单方法是什么:

- name: install the latest version of Apache
  unified_install: name=httpd state=latest
Run Code Online (Sandbox Code Playgroud)

代替

- name: install the latest version of Apache on CentOS
  yum: name=httpd state=latest
  when: ansible_os_family == "RedHat"

- name: install the latest version of Apache on Debian
  apt: pkg=httpd state=latest 
  when: ansible_os_family == "Debian"
Run Code Online (Sandbox Code Playgroud)

我理解这两个包管理器是不同的,但它们仍然有一组共同的基本用法。其他编排器(例如 salt)只有一个安装命令。

package-management ansible

75
推荐指数
3
解决办法
5万
查看次数

Ansible 坚持收集事实

我的 ansible 盒子(流浪者)有一些奇怪的问题。

昨天一切正常,我的剧本运行良好。

今天,ansible 靠的是“收集事实”?

这是详细的输出:

<5.xxx.xxx.xxx> ESTABLISH CONNECTION FOR USER: deploy
<5.xxx.xxx.xxx> REMOTE_MODULE setup
<5.xxx.xxx.xxx> EXEC ['ssh', '-C', '-tt', '-vvv', '-o', 'ControlMaster=auto', '-
o', 'ControlPersist=60s', '-o', 'ControlPath=/home/vagrant/.ansible/cp/ansible-s
sh-%h-%p-%r', '-o', 'Port=2221', '-o', 'KbdInteractiveAuthentication=no', '-o',
'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o
', 'PasswordAuthentication=no', '-o', 'User=deploy', '-o', 'ConnectTimeout=10',
'5.xxx.xxx.xxx', "/bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1411372677
.18-251130781588968 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1411372677.18-2
51130781588968 && echo $HOME/.ansible/tmp/ansible-tmp-1411372677.18-251130781588
968'"]
Run Code Online (Sandbox Code Playgroud)

ssh ansible

70
推荐指数
6
解决办法
8万
查看次数

使用 Ansible 显示输出

我有一个PGBouncer 的 Ansible 游戏,它显示了 PGBouncer 内置的统计模块的一些输出。

我的问题是,当 Ansible 将输出打印到终端时,它会破坏换行符。而不是看到

----------
| OUTPUT |
----------
Run Code Online (Sandbox Code Playgroud)

我懂了

----------\n| OUTPUT |\n----------
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让 Ansible“漂亮地打印”输出?

ansible

57
推荐指数
4
解决办法
9万
查看次数

使用 ansible 部署一个包含模板文件的文件夹

有没有一种简单的方法可以将一个充满模板 .j2 文件夹的文件夹部署到 linux 盒子,使用与模板相同的名称,但没有 .j2 扩展名,而不是为每个文件使用模板模块?

现在我有一长串:

- name: create x template
  template:
    src=files/x.conf.j2
    dest=/tmp/x.conf
    owner=root
    group=root
    mode=0755
  notify:
    - restart myService
Run Code Online (Sandbox Code Playgroud)

linux ansible

56
推荐指数
4
解决办法
8万
查看次数

标签 统计

ansible ×10

debugging ×1

linux ×1

package-management ×1

security ×1

ssh ×1

stderr ×1

stdout ×1

sudo ×1