我是新的,Ansible/Ansible Tower,我已经尝试了几天,并尝试复制文件,将软件安装到其他机器以及其他东西。
我有疑问。
假设我有1台控制机和10个主机。我想将5个文件复制到每个主机中。
我运行我的剧本。我的Ansible只能到达3个文件(例如,由于某些未知错误),因此它仅将3个文件复制到所有主机中。现在,我观看了这一点,完成了第一份工作后,我将所有可用的文件。我再次运行剧本,这次它将所有5个文件复制到所有主机中。现在我可以做到这一点,以便Ansible知道主机有前3个文件,并且在我第二次运行剧本的情况下,它知道了,因此,它仅将其余的文件复制到主机中?其余2个文件。
和同一件事,如果主机无法实现,则第一次无法使用。在第二个作业中,它只能将所有文件复制到该主机中。其余的有3个文件的主机只能复制其余文件。
现在,我可以做到这一点,以便Ansible知道主机有前3个文件,并且在我第二次运行剧本时,它知道了,因此,它仅将其余的文件复制到主机中?<<<</p>
您无需做任何事情。使用Ansible,您定义了所需的状态。
例如,使用copy
模块,您不会告诉又可以复制文件。相反,您请求Anssible,以确保目标计算机上的某个文件具有所需的内容。如果已经这样做,Ansible不会执行任何操作。如果文件不存在,或者目标上的文件具有不同的内容,则Ansible会复制文件。
iDempotency(此功能称为)允许您多次运行同一剧本,并且状态将始终与所需的ON保持一致。
这也意味着,如果某些任务失败,则根据定义将剧本重新运行,从其失败的地方"继续"。
在没有提供此功能,但大多数是。Ansible不是万无一失的,可以编写不愿意的剧本,但这是程序员的力量和责任。
最重要的是,Ansible具有用于优化目的的"重试"机制。