Ansible 为每个主机创建一个文件的最佳实践

Ansible 为每个主机创建一个文件的最佳实践

我需要为每个主机设置不同的文件,存储该文件的最佳位置是哪里?

将其存储在files文件夹下并将路径存储在下是否被认为是一种好的做法host_vars

答案1

由于不知道文件的(预期)内容,我只能提供部分答案。

一种可能的解决方案是使用模板,其中内容是从主机特定的事实呈现的,而这些事实又可以在setup使用自定义事实提供的步骤中自动收集。

如果每个主机的文件完全不同,并且它们的组成方式甚至没有共同的模式,那么您可以使用您在问题中提到的解决方案,或者将文件存储在files您的角色目录中,使用with_first_found,并且不再需要特定的变量:

- template: >
    src={{ item }} 
    dest=/srv/www/error/503.html
  with_first_found:
    - "{{ ansible_hostname }}_503.html"

相关内容