ansible - 使用不同库存的游戏之间的 Ansible 共享变量
问题描述
我有两个剧本:create_infrastructure.yml
和bootstrap_cluster.yml
。第一个剧本使用一个静态清单,它只定义infrastructure
一个成员的组:127.0.0.1
。这用于构建部署 Kubernetes 集群的基础设施。
第二个 playbook 使用动态清单,hcloud.yml
负责引导 kubernetes 集群。执行的角色之一需要访问控制平面负载均衡器的 IP 地址,这是剧本bootstrap_cluster.yml
所知道的。
我已经尝试使用该选项和模块,但似乎无法使其工作。实际上,尝试从中访问并没有多大意义,因为该组甚至没有在剧本使用的动态清单中定义。create_infrastructure.yml
register
set_fact
hostvars['infrastructure']['control_plane_ip']
bootstrap_cluster.yml
infrastructure
关于如何在针对不同主机的剧本之间动态共享变量的任何想法?
解决方案
如果您在同一个调用中启动剧本,您可以使用虚拟主机测试我的解决方案:
# Combine multiple playbooks in same call combine.yml for example
- import_playbook: play1.yml
- import_playbook: play2.yml
如果您的剧本是通过 2 个不同的调用启动的,唯一的解决方案是创建一个在 2 个剧本之间共享的文件
推荐阅读
- apache-spark - 如何将带有时区的奇怪日期时间字符串转换为时间戳(PySpark)
- android - 如何在Android上的recyclerView中使用多个计时器
- android - 调试输出上的 Android net::ERR_CACHE_MISS
- python - 暂停 Jupyter Notebook 小部件,等待用户输入
- xaml - xamarin.forms 汉堡包图标
- python - 用熊猫读取具有可变列数的csv
- python - Python:%s 在这里做什么?
- java - 是否需要提交事务才能触发触发器?
- php - PHP 启动:无法加载动态库 'pdo_oci'
- algorithm - 给定两棵二叉树,计算它们的差异