首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >封隔器主机受限变量

封隔器主机受限变量
EN

Stack Overflow用户
提问于 2019-11-12 17:58:44
回答 1查看 988关注 0票数 0

什么是正确的方法,以处理需要主机有界的变量,在封隔器和它的无源供给器?

Packer使用ansible,但是对于CentOS8 / RHEL8,它必须将CentOS8主机上的ansible_python_interpreter设置为平台-python。但是,我的剧本有本地和远程步骤,所以我只想为该主机设置该变量。通常情况下,我不会在我的供给者中使用库存。

代码语言:javascript
复制
  "extra_arguments":
  [
    "-v",
    "-e", "ansible_python_interpreter=/usr/libexec/platform-python"
  ]

我认为我的选择是

  • 研究如何通过extra_arguments传递主机变量
  • 通过较早的提供程序设置库存,并在其中设置变量,以便以后使用它。

请告诉我你发现了什么是个好办法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-12 19:32:54

在这种情况下,封隔器目录将是一个关键的助手。

  1. 为packer ansible provisioner设置inventory_directory选项,以定义不可测库存目录的位置,ansible在其中创建库存文件,将目标主机定义为default
  2. 填充default主机的主机变量文件,其中包含Centos8 8/RHEL8 8首选python解释器所需的变量

封隔器供应器

代码语言:javascript
复制
"provisioners": [
  {
    "type": "ansible",
    "playbook_file": "../../../playbooks/linux-agent-provision.yml",
    "inventory_directory": "./inventory",
    "extra_arguments":
    [
      "-v",
      ...
    ]
  },
  ...

./库存目录

代码语言:javascript
复制
inventory/host_vars
inventory/host_vars/default.yml

库存/主机vars/default.yml

代码语言:javascript
复制
ansible_python_interpreter: /usr/libexec/platform-python
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58824210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档