当前位置: 首页 > news >正文

广西建设网人员查询网seo在网站建设中的作用

广西建设网人员查询网,seo在网站建设中的作用,端游网络游戏排行榜2023,网站备案个人和企业的区别目录 一、变量的设定 二、变量的使用方式 1、在playbook中直接定义变量 2、在文件中定义变量 3、设定主机变量和清单变量 4、目录设定变量 5、用命令覆盖变量 6、使用数组设定变量 7、注册变量 8、事实变量 9、魔法变量 三、JINJA2模板 四、加密控制 1、创建加…

目录

一、变量的设定

二、变量的使用方式

1、在playbook中直接定义变量

2、在文件中定义变量 

3、设定主机变量和清单变量

4、目录设定变量

5、用命令覆盖变量

6、使用数组设定变量

7、注册变量

 8、事实变量

9、魔法变量 

三、JINJA2模板 

四、加密控制

1、创建加密文件

2、查看加密文件 

3、编辑加密文件 

4、加密现有文件 

5、更改加密文件密码

6、解密文件

7、执行加密文件


一、变量的设定

1、变量的命名规则:
(1)只能包含数字,下划线,字母;
(2)只能用下划线或字母开头;
(3)ansible内置的关键字不能作为变量名。
2、变量的级别:

3、变量优先级:
全局 > play > 主机

全局从命令行或配置文件中设定的
playplay和相关结构中设定
主机由清单,事实收集或注册的任务

二、变量的使用方式

  • 这里使用循环定义的方式,使用loopitem实现循环执行

1、在playbook中直接定义变量

vim test.yml- name: test varhosts: allvars:TEST: hello aletasks:- name: filedebug:msg: "{{ TEST }}"ansible-playbook test.yml

2、在文件中定义变量 

vim file.ymlTEST: hello alevim test.yml- name: test varhosts: allvars_files:- ./file.ymltasks:- name: filedebug:msg: "{{ TEST }}"

3、设定主机变量和清单变量

[test1]
192.168.67.112[test2]
192.168.67.113[test1:vars]
TEST=hello yyl[test2:vars]
TEST=hello alevim test.yml- name: test varhosts: allvars:tasks:- name: filedebug:msg: "{{ TEST }}"

4、目录设定变量

group_vars清单变量,目录中的文件名称与主机清单名称一致
host_vars主机变量,目录中的文件名称与主机名称一致

 group_vars和host_vars之前注释inventory   内定义的

mkdir group_vars
cd group_vars/vim test1
TEST: hello yyl
vim test2
TEST: hello alevim test.yml- name: test varhosts: allvars:tasks:- name: filedebug:msg: "{{ TEST }}"

 host_vars:

mkdir host_vars
cd host_vars/vim 192.168.67.112
TEST: hello yyl
vim 192.168.67.113
TEST: hello ale- name: test varhosts: allvars:tasks:- name: filedebug:msg: "{{ TEST }}"

5、用命令覆盖变量

ansible-playbook test.yml -e "TEST=hahahaha"

6、使用数组设定变量

vim user_var.yml- name: test varhosts: allvars:USER1:name: user1id: 123USER2:name: user2id: 456tasks:- name:user:name: "{{USER1.name}}"uid: "{{USER1.id}}"state: present- name:user:name: "{{USER2.name}}"uid: "{{USER2.id}}"state: present

7、注册变量

register:把模块输出注册到指定字符串中    要输出单独参数时,指定输出变量

vim reg.yml- name: test registerhosts: alltasks:- name: hostname commandshell:hostnameregister: info- name: show messagesshell:echo "{{info['stdout']}}"

 

 8、事实变量

事实变量是ansible在受控主机中自动检测出的变量,事实变量中还有与主机相关的信息;
当需要使用主机相关信息时不需要采集赋值,直接调用即可;
因为变量信息为系统信息所以不能随意设定仅为采集信息,故被成为事实变量。 

vim 1.yml- name: test registerhosts: alltasks:- name: show messagesdebug:msg: "{{ansible_facts['architecture']}}"

gather_facts: no ##在playbook中关闭事实变量收集

9、魔法变量 

和事实变量类似,都是真实存在的变量,和ansible有关;直接执行以下变量即可。

 ##ansible软件的内部信息

ansible localhost -m debug -a "var=hostvars"

 

##当前受管主机所在组

ansible all -m debug -a "var=group_names" 

##列出清单中所有的组和主机

ansible localhost -m debug -a "var=groups"

##包含清单中配置的当前授管主机的名称

ansible localhost -m debug -a "var=inventory_hostname"

三、JINJA2模板 

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

j2模板书写规则

{# /etc/hosts line #}  ##注释说明文件用途
127.0.0.1 localhost  ##文件内容
{{ ansible_facts['all_ipv4_addresses'] }} {{ansible_facts['fqdn']}}  ##使用事实变量

j2模板的实现:

vim jinja.yml---
- name: testjinjahosts: server2tasks:- name: create filetemplate:src: ./test.j2  ##j2模板来源dest: /mnt/test  ##远程主机执行文件地址

for循环和 if 的用法:

for循环:

设定j2模板,变量要用{{ }}括起来

{% for NAME in users %}  ##for循环设定变量NAME,变量来源于变量文件
{{ loop.index }} {{ NAME  }}  ##变量用 {{ }} 括起来
{% endfor %}  ##for循环结束

if判断:

{% for NAME in users %}
{% if NAME in "linux"%}  ##in表示等于时
{{ loop.index0 }}  ##等于时只记数
{% endif %}
{% if NAME not in "linux"%}  ##not in表示不等于时
{{ loop.index0 }} {{ NAME }}  ##不等于时记数加变量
{% endif %}
{% endfor %}

练习:

使用j2模板 写hosts解析文件

vim hosts.yml- name: create hostshosts: alltasks:- name: create hosts filetemplate:src: ./hosts.j2dest: /mnt/hostsvim hosts.j2{% for HOST in groups['all'] %}
{{hostvars[HOST]['ansible_facts']['ens33']['ipv4']['address'] }} {{hostvars[HOST]['ansible_facts']['hostname']}}
{% endfor %}

四、加密控制

1、创建加密文件

ansible-vault create yyl
cat yyl

2、查看加密文件 

vim authyyl  123
ansible-vault view yyl
ansible-vault view --vault-password-file=authyyl  yyl

3、编辑加密文件 

ansible-vault edit --vault-password-file=authyyl yyl
ansible-vault view --vault-password-file=authyyl  yyl

4、加密现有文件 

ansible-vault encrypt yyl.yml

 5、更改加密文件密码

ansible-vault rekey yyl文件更改密码
vim authyyl  123456
ansible-vault rekey yyl --new-vault-password-file=authyyl
ansible-vault view yyl

 

6、解密文件

ansible-vault decrypt yyl
ansible-vault decrypt test.yml

7、执行加密文件

ansible-playbook test.yml --ask-vault-pass

http://www.yayakq.cn/news/467445/

相关文章:

  • 深圳自适应网站推广价格线上外贸平台有哪些
  • 响应式环保网站政协系统网站建设
  • 找公司做网站怎么图片都要自己找东莞房价还会涨吗
  • 网站打不开dns修改吗自适应网站怎么做移动配置
  • 嘉兴网站建设企业wordpress主题开发教程
  • 网站开发容易找工作吗网站自适应尺寸
  • 外贸网站 php网站建设江苏
  • 在线视频网站a一级爰a做免费茌平网站建设费用
  • 做网站 内容越多越好做网站用小动画
  • 买网站服务器图书馆网站参考咨询建设
  • 西部数码网站建设合肥响应网站案例
  • 小说网站个人可以做吗湛江电气建站软件
  • 浙江省城乡建设厅官网整站网站优化推荐
  • 站长之家网页模板免费的个人简历模板电子版
  • 相亲网站男人拉我做外汇南昌建网站单位
  • 佛山优化网站推广万州网络科技有限公司
  • 海南酒店网站建设燕窝网站怎么做的
  • 大学生互助联盟网站建设需求分析说明表大连网址
  • 广东门户网站建设微信网页版怎么登录不了
  • 如何做中英切换的网站广告公司vi设计
  • 长沙建站挺找有为太极网站建设案例赏析
  • wordpress 站内搜索代码奉贤深圳网站建设公司
  • 常德自助建站seo搭建平台的成语
  • 已经买了域名怎么做网站为什么我的wordpress显示不了图片
  • 桐乡市住房建设局网站宜家家居官网网上商城app
  • dedecms做网站图片网站模版
  • 行业应用网站建设成本只做早餐的网站
  • 广西哪里有网站建设怎样建立一个企业网站
  • 做杂志的网站有哪些内容成都市建设部官方网站
  • 如何查网站空间网络规划设计师教程第二版