You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Jinja模板单变量传递多IP同端口配置咨询

Ansible Jinja模板生成IP端口列表配置方法

方式一:拆分IP与端口变量动态拼接

适合端口统一、IP可能单独调整的场景,维护变量时不用重复写端口:

  • 在Ansible变量文件中定义基础变量
    service_port: 8200
    node_ips:
      - 10.0.0.1
      - 10.0.0.2
      - 10.0.0.3
      - 10.0.0.4
    
  • Jinja模板中写入以下渲染逻辑
    value=[{% for ip in node_ips %}"{{ ip }}:{{ service_port }}"{% if not loop.last %}, {% endif %}{% endfor %}]
    
    渲染后输出完全匹配要求的格式:
    value=["10.0.0.1:8200", "10.0.0.2:8200", "10.0.0.3:8200", "10.0.0.4:8200"]
    

方式二:直接传入完整IP端口组合列表

完全支持直接将完整组合列表作为单个变量传入,这种方式写法更简洁,也不容易出现循环拼接的格式错误:

  • 变量定义时直接写完整的地址列表
    service_addr_list:
      - "10.0.0.1:8200"
      - "10.0.0.2:8200"
      - "10.0.0.3:8200"
      - "10.0.0.4:8200"
    
  • Jinja模板中直接用内置过滤器渲染即可
    value={{ service_addr_list | to_json }}
    

注意:如果传入的是字符串格式的列表(比如直接把["10.0.0.1:8200", "10.0.0.2:8200"]作为字符串值赋给变量),渲染前需要先加| from_json过滤器转成Ansible原生列表对象,否则会出现引号转义、格式错乱的问题。

内容的提问来源于stack exchange,提问作者matku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 06:48:20