日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux使用jinja2模板_SaltStack配置管理工具jinja2模板的使用

發布時間:2024/1/23 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux使用jinja2模板_SaltStack配置管理工具jinja2模板的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SaltStack是使用的YAML語言來將sls文件解釋成它自己可以識別的內容,Jinja是一種基于PYTHON的模板引擎,在SLS文件里可以直接使用jinja模板來做一些操作,比如當我們需要對多臺服務器做一些apache服務配置時,由于每臺服務器信息不一樣(比如ip不同),如果為每臺服務器去創建SLS文件就不太合理,而通過jinja模板則可以用生成變量→讀取變量的方式來為每個服務器設置應有的信息。下面來看看定義jinja模板的方法:

jinja2模板的基本使用

1、首先將source文件中需要引用變量的內容改為{{ 變量名 }},如修改apache配置文件中的端口信息

Listen {{ PORT }}2、對SLS文件進行編輯以定義模板并且給變量傳值,在第一步中定義了幾個變量就必須給幾個變量傳值

apache-service:

pkg.installed:

- name: httpd

file.managed:

- name: /etc/httpd/conf/httpd.conf

- source: salt://files/httpd.conf

- user: root

- group: root

- mode: 644

- template: jinja #增加這行表示開啟模板

- defaults: #下面設定變量的值

PORT: 8080 #之前定義的PORT變量值為8080

- require:

- pkg: apache-service

service.running:

- name: httpd

- enable: True

- reload: True

- watch:

-file: apache-service3、執行salt '*' state.highstate,然后查看配置文件發生的變化,可以看到PORT這個變量的值變成了8080

jinja2模板的高級使用:

在基本使用中由于修改的是端口,端口信息一般是固定的,如果想要修改的信息是每個minion自身的IP就沒辦法設置一個通用的信息了,這個時候需要通過其他方法來獲取minion相關信息,這里可以使用Grains、Pillar和執行模塊三個方法來獲取,下面用Grains舉例設置IP的辦法

apache-service:

pkg.installed:

- name: httpd

file.managed:

- name: /etc/httpd/conf/httpd.conf

- source: salt://files/httpd.conf

- user: root

- group: root

- mode: 644

- template: jinja #增加這行表示開啟模板

- defaults: #下面設定變量的值

HOST: {{ grains['fqdn_ip4'][0] }} #[fqdn_ip4]代表的是IP,該信息需要先執行salt '*' grains.items查詢,由于grains查詢輸出的是列表,會有多個值,需要加上[0]代表取第一個值

PORT: 8080 #之前定義的PORT變量值為8080

- require:

- pkg: apache-service

service.running:

- name: httpd

- enable: True

- reload: True

- watch:

-file: apache-service

總結

以上是生活随笔為你收集整理的linux使用jinja2模板_SaltStack配置管理工具jinja2模板的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。