有没有办法在 ansible inventory group_vars 文件中使用动态变量

Is there a way to use dynamic variables in ansible inventory group_vars files

在我学校的计算机实验室,我最近负责管理一个服务器集群,并且发现 ansible 对我有很大帮助。作为新手,我需要以下场景的帮助:

集群中的服务器都应该根据特定条件几乎相同地配置。

为了将一些变量应用于集群中的所有机器,我学会了使用 group_vars 文件和 inventory。不过,有个情况我还没想好怎么办。

根据这些服务器预期处理的具体操作,一些变量应设置为适合所需条件的值;每个条件的值都可以设置为一个变量。经过一番思考,我得出的结论是最简单的方法是使用 ansible-playbook-e 选项(即外部变量)。

但我遇到困难的地方是根据给定的操作条件变量的值,使 group_vars 文件中的相应变量采用新值。

让我们调用操作条件变量opv。 group_vars 文件中的变量比方说 var0var1var2

有没有一种优雅的方法可以实现上述目标?提前感谢任何 tips/hints。我愿意挖。所以,只有指针是很棒的。

您应该切换到 yaml 格式而不是 ini,这样您就可以在 group_vars.

中轻松使用 vars 甚至 jinja 模板
#group_vars/all.yml

var0: "v{{ opv }}0"
var1: "v{{ opv }}1"
var2: "v{{ opv }}2"