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