IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ansible中的文件加密以及for语句和if语句的写法 -> 正文阅读

[系统运维]Ansible中的文件加密以及for语句和if语句的写法


一、JINJA2模板介绍

Jinja2是Python下一个被广泛应用的模版引擎
他的设计思想来源于Django的模板引擎,
并扩展了其语法和一系列强大的功能。
其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能

二、书写规则

1.示例

vim 3.yml
  1 ---
  2 - name: demo
  3   hosts: server
  4   tasks:
  5     - template:							#即模板的应用
  6         src: ./1.j2
  7         dest: /mnt/westos
vim 1.j2
  1 {# /mnt/westos #}						#表示注释写法
  2 hello word								#字符串内容会自动添加到文件中
  3 {{ ansible_facts['all_ipv4_addresses'] }} {{ ansible_facts['lvm']['lvs']}}	#事实变量将采集被控主机的事实变量

在这里插入图片描述

2.for循环的写法

vim demo.j2
  1 {% for westos in name %}			#name为playbook中的变量名称
  2 {{loop.index0}}-{{westos}}			#loop.index0表示从0开始进行计数迭代
  3 {% endfor %}
vim name.yml
  1 ---
  2 - name: demo
  3   hosts: server
  4   gather_facts: no
  5   vars_files:
  6     ./bianliang.yml
  7   tasks:
  8     - template:
  9         src: ./demo.j2
 10         dest: /mnt/westos

在这里插入图片描述

三、if语句的基本使用

vim demo.j2
  1 {% for westos in name if not name == "linux" %}
  2 {{loop.index0}} - {{westos}} {{ansible_facts['fqdn']}}
  3 {% endfor %}
vim name.yml
  1 ---
  2 - name: demo
  3   hosts: server
  4   vars:
  5     - name:
  6         - linux:
  7         - westos:
  8         - ansible:
  9   tasks:
 10     - template:
 11         src: ./demo.j2
 12         dest: /mnt/westos
vim demo.j2
  1 {% for westos in name %}
  2 {% if westos['group'] is defined %}			#is defined表示存在内容条件
  3 {{westos}}group:{{westos['group']}}
  4 {% endif %}
  5 {% if westos['password'] is defined %}
  6 {{westos}}password:{{westos['password']}}
  7 {% endif %}
  8 {% if westos['uid'] is defined %}
  9 {{wesos}}uid:{{westos['uid']}}
 10 {% endif %}
 11 {% if westos['group'] is not defined %}		#is not defined表示不存在内容
 12 {{loop.index}}-{{westos}}
 13 {% endif %}
 14 {% endfor %}
vim name.yml
  1 ---
  2 - name: demo
  3   hosts: server
  4   vars:
  5     - name:
  6         - linux:
  7             uid: 0
  8             group: westos
  9             password: linux
 10         - westos:
 11             udi: 1000
 12             group: linux
 13             password: 1000
 14         - ansible:
 15         - age:
 16         - password:
 17         - apache:
 18             uid: 20
 19             group: http
 20             password:
 21   tasks:
 22     - template:
 23         src: ./demo.j2
 24         dest: /mnt/westos

在这里插入图片描述在这里插入图片描述

4.文件加密控制

ansible-vault view westos.yml									#查看加密文件
ansible-vault create westos.yml									#建立加密文件
ansible-vault create --vault-password-file=password westos		#指定文件的内容为密码
ansible-vault decrypt westos.yml								#进行文件的解密
ansible-vault encrypt westos.yml								#对已经存在的文件进行加密
ansible-playbook name.yml --ask-vault-pass						#将已经加密的playbook首先解密后在运行
ansible-vualt encrypt_string 'name' --name 'westos'				#将变量进行加密
ansible-vault rekey westos.yml									#重新设定密码

上面的输出表明密码已使用AES 256加密进行了加密。之后,从!vault |拷贝整个加密的代码。前往剧本文件,删除明文密码值,然后粘贴加密后的值,如下所示。
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述


总结

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:50:00  更:2022-04-24 09:51:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:40:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码