在 ansible 中根据环境加载变量

在 ansible 中根据环境加载变量

团队,我有两个变量映射到两个环境。我想在剧本中使用它们,但根据剧本运行的环境,只能应用一个值。

前任:

var = test1 > should be loaded when env1
var = test2 > should be loaded when env2

任何提示我如何在 ansible 中实现这一点?

我想以这样的方式编写我的任务,即当在 env1 上运行时,此变量 var 携带 test1 值,反之亦然。是否有我可以在任务级别使用的登录名?我的任务如下,当我在 clusterA 上运行我的剧本时,它应该使用 var=test1,而在 clusterB 上运行时,它应该使用 var=test2

    - name: Add persistent ddn volume
  mount:
    path: "{{ lustre_client_path }}"
    src: "{{ var }}"
    fstype: lustre
    state: mounted

答案1

其实我已经搞明白了。我只需要创建一个单独的文件并将其命名为 configs.yml,然后将其直接放在每个集群环境剧本中。这有效。因此现在正在加载基于环境的内容。

相关内容