如何限制主机配置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何限制主机配置?相关的知识,希望对你有一定的参考价值。

我正在使用Vagrant创建EC2虚拟机并且可以配置它们。我正在使用this guide,以及用于库存的ec2.py脚本。

我目前正在配置一个带有ansible的主机,我给它一个名为Purpose的标签(假设值为“Machine Purpose”),这样我就可以在我的ansible文件中执行此操作(ec2.py脚本提供了这个):

- hosts: tag_Purpose_Machine_Purpose

我的问题是,如果我想添加另一台服务器,并且我想要配置它,我不能使用vagrant provision server2这样做,因为它将运行ansible脚本,它将匹配第一个主机,并将其设置为好。

我想避免的原因是,即使ansible指令大部分是幂等的,并非所有指令都是,所以我将不必要地在node1上移动一些文件等,更重要的是,还要重新启动已在那里运行的服务。

有没有办法让ansible只配置我在命令行中指定的服务器?

答案

您可以使用参数--limit限制Ansible游戏。它没有很好的文档,但你可以提供组名和主机名。

ansible-playbook ... --limit hostA

还可以使用逗号分隔多个主机名:

ansible-playbook ... --limit hostA,hostB,hostC
另一答案

您可以在Vagrantfile中进行设置

v.vm.provision "ansible" do |ansible|
  ansible.limit = 'all'  # Change this

您可以从命令行加载它

v.vm.provision "ansible" do |ansible|
  ansible.limit = (ENV['ANSIBLE_LIMIT'] || 'all')

ANSIBLE_LIMIT='x' vagrant provision

以上是关于如何限制主机配置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在底部导航中使用设置屏幕外页面限制

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

如何设置x和y移动动画片段的最大/限制?

如何限制 UVC 小工具的 FPS?