当前位置: 首页 > 知识库问答 >
问题:

安全地将Ansible playbooks限制在一台机器上?

归泽宇
2023-03-14
# file: hosts
[office]
imac-1.local
imac-2.local
imac-3.local
ansible-playbook --limit imac-2.local user.yml

是否有限制playbook运行到一台机器的最佳实践?理想情况下,如果遗漏了一些重要的细节,剧本应该是无害的。

共有1个答案

轩辕瑞
2023-03-14

结果是可以直接在playbook中输入主机名,所以使用hosts:imac-2.local运行playbook就可以了。但有点笨重。

更好的解决方案可能是使用变量定义PlayBook的主机,然后通过--extra-vars传入特定的主机地址:

# file: user.yml  (playbook)
---
- hosts: '{{ target }}'
  user: ...

运行剧本:

ansible-playbook user.yml --extra-vars "target=imac-2.local"
$ ansible-playbook user.yml --extra-vars "target=imac-2.local" --list-hosts

playbook: user.yml

  play #1 (imac-2.local): host count=1
    imac-2.local
$ ansible-playbook user.yml --extra-vars "target=office" --list-hosts

playbook: user.yml

  play #1 (office): host count=3
    imac-1.local
    imac-2.local
    imac-3.local
$ ansible-playbook user.yml --list-hosts

playbook: user.yml

  play #1 ({{target}}): host count=0
 类似资料:
  • 在PHP手册中,有一条关于gzVD ate的评论说: gzcompress产生更长的数据,因为它将有关编码的信息嵌入到字符串中。如果您正在压缩只能在一台机器上处理的数据,那么您无需担心使用这些函数中的哪一个。但是,如果您将使用这些函数压缩的数据传递到不同的机器,您应该使用gzcompress。 然后 在各种内容上运行50000次重复,我发现无论内容和压缩级别如何,gzflate()和gzcompr

  • 问题内容: 我在本地计算机上为postgres创建了一个docker卷。 然后,我使用了该卷并运行了一个docker。 之后,我做了一些数据库操作,这些操作自动存储在postgres-data中。现在,我想将该卷从本地计算机复制到另一台远程计算机。怎么做一样。 注意-数据库大小非常大 问题答案: 如果第二台计算机启用了SSH,则可以在第一台计算机上使用Alpine容器来映射该卷,将其捆绑并发送到第

  • 我希望使用ssh作为将托管在公司网络中的docker映像传输到私有云的传输机制。设置VPN连接将不是我的首选(因为它只是增加了复杂性)。有什么想法从哪里开始看这个吗 编辑:我和我的团队成员可能每天都要这样做很多次(拉和推)

  • 使用时,保存的图像是独立的,因此图像的大小会变大。(~对于10个图像,大小约为9GB) 在提取docker图像后,我探索: 有没有办法有效地导出图像? 注:我已经提到了这一点。这个问题不是它的重复。它没有解决我上面提到的用例。

  • 试了好几个方法,只好问到这里。所以最近我在我自己的一个网站上工作,这个网站是在我的本地桌面上开发的(使用xampp),但是现在我想从我的笔记本电脑(ubuntu 16.04)在同一个网站上工作(本地),所以我在我的笔记本电脑上安装了xampp(lampp)尝试了以下方法:- 1.)我从桌面(localhost/phpmyadmin)导出了数据库 2。)已从桌面版本复制wordpress/wp内容文

  • 我正在尝试使用javax.crypto.ciper加密/解密数据,其中我将转换指定为aes/ecb/pkcs5padding。 在我的本地机器中,jcesecurity.isrestricted()返回FALSE,但是当它在服务器上运行时,相同的方法返回true。由于服务器上的这种情况,系统不会为密码分配正确的权限。 不确定,JceSecurity restriction确切设置在哪里。感谢你的帮