当前位置: 代码迷 >> 综合 >> saltstack jinja 配置总结
  详细解决方案

saltstack jinja 配置总结

热度:85   发布时间:2024-01-09 17:53:32.0

一. jinja语法简介

1.定义变量

{% set var = 'value' %}

2.引用变量

{ { VAR_NAME }}

3.if条件判断

{% if  条件 %}

语句块

{% elif 条件 %}

语句块

{% else %}

语句块

{% endif %}

二. 案例总结

案例1:

同步zabbix-agent的配置文件,根据主机名分配不同的zabbix-server

sls文件内容

zabbix_pkg:pkg.installed:- name: zabbix-agent- refresh: Truezabbix_main_conf:file.managed:- name: /etc/zabbix/zabbix_agentd.conf- source: salt://init_system/zabbix/zabbix_agentd.conf- template: jinja- require:- pkg: zabbix_pkg- file: zabbix_include_conf

jinja模板文件

{% if grains['fqdn'].startswith("test-aa-")  %}{% set server_hostname = 'Aserver.test.com' %}
{% else %}{% set server_hostname = 'Bserver.test.com' %}
{% endif %}
Server={
   { server_hostname  }}
ServerActive={
   { server_hostname  }}