如何处理从Ansible资源清册组中删除的主机?
由于主机完全不可用或已重新调整用途,如何处理从Ansible资源清册组中删除主机的操作 让我举一个简单的例子,说明3个(示范性)可扮演的角色。它们并不代表实际做了什么,但有助于解释我的问题:如何处理从Ansible资源清册组中删除的主机?,ansible,Ansible,由于主机完全不可用或已重新调整用途,如何处理从Ansible资源清册组中删除主机的操作 让我举一个简单的例子,说明3个(示范性)可扮演的角色。它们并不代表实际做了什么,但有助于解释我的问题: Web服务器角色安装特定的Web服务器应用程序,将HTML内容复制到目标主机,并在防火墙中打开端口80和/或443(例如,使用) Kubernetes角色将主机加入现有Kubernetes群集。为了使网络正常工作,它会打开受影响主机和所有其他群集成员上的防火墙端口 NodeExporter角色在防火墙中安
- Web服务器角色安装特定的Web服务器应用程序,将HTML内容复制到目标主机,并在防火墙中打开端口80和/或443(例如,使用)
- Kubernetes角色将主机加入现有Kubernetes群集。为了使网络正常工作,它会打开受影响主机和所有其他群集成员上的防火墙端口
- NodeExporter角色在防火墙中安装并打开其端口,以允许来自特定Prometheus服务器的传入连接
现在考虑2种情况。
- 使用一些自动安装机制为服务器提供基本操作系统
- 用你的剧本做其他事情
- 使用a:在这种情况下,您可以根据自己的规则(主机名、操作系统、位置、环境变量等)以编程方式将主机分配给组。只要机器很少,并且库存代码很快,就可以很好地工作
- 使用以主机为中心的方法:在这种情况下,对于每个主机,您安装ansible并使用命令
而不是ansible inventory
克隆playbook并仅对本地主机执行。Playbook执行可以检索一些信息(主机名、操作系统、位置、环境变量等)来调节执行。我更喜欢这种方法,因为您可以在每次启动时自动执行配置(第一次安装,下次升级)。缺点:所有虚拟机上都需要ansibleansible playbook
- 有了动态资源清册,很容易做到:为每个主机生成所有新的防火墙规则,并在需要时应用它们
- 使用以主机为中心的方法会更加复杂,因为每个主机都不知道其他主机。在这个问题中有一些解决方案,但过于复杂,无法描述
ufw
规则,允许从其余主机中删除主机的ip地址?