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

商城网站建设怎么收费优化设计四年级下册语文答案

商城网站建设怎么收费,优化设计四年级下册语文答案,长沙网络公司电话,wordpress修改标题Ansible是一个系列文章#xff0c;我会尽量以通俗易懂、诙谐幽默的总结方式给大家呈现这些枯燥的知识点#xff0c;让学习变的有趣一些。Ansible自动化运维前言前面有说到使用playbook来搞一些复杂的功能#xff0c;我们使用YAML来写playbook#xff0c;就像我们用其它语言…Ansible是一个系列文章我会尽量以通俗易懂、诙谐幽默的总结方式给大家呈现这些枯燥的知识点让学习变的有趣一些。Ansible自动化运维前言前面有说到使用playbook来搞一些复杂的功能我们使用YAML来写playbook就像我们用其它语言写代码一样也是可以定义变量的能定义变量那这个功能就不得了了就有必要好好的讲讲了。变量就好比playbook的翅膀让ansible playbook的使用场景大大增多。在Ansible中变量的玩法有下面这几种通过inventory定义变量通过文件定义变量使用远程主机的系统变量通过ansible-playbook命令行传入变量通过vars定义变量通过vars_files定义变量通过register注册变量使用vars_prompt传入变量玩法还挺多的下面就对这些玩法进行一一的总结争取一次把Ansible中变量的玩法吃透。通过inventory定义变量我们可以在inventory文件中定义变量然后在playbook中使用这些变量。到底怎么玩下面我通过一段代码来举例说明192.168.1.3 key10086 [server1]192.168.1.3[server1:vars]key10087ansible_ssh_usertest1上面是我的inventory文件内容我针对192.168.1.3这个主机定义了一个变量key然后又针对server1这个主机组定义了变量key和ansible_ssh_user。然后我来写一个测试playbook看下在inventory文件中定义的变量怎么用。---- hosts: server1 tasks: - name: Display var from inventory file debug: msgThe {{ inventory_hostname }} value is {{ key }}输出内容如下[jellylocalhost yaml]$ ansible-playbook inventoryVar.yaml PLAY [server1] *************************************TASK [Gathering Facts] *****************************ok: [192.168.1.3]TASK [Display var from inventory file] *************ok: [192.168.1.3] { msg: The 192.168.1.3 value is 10086}PLAY RECAP *****************************************192.168.1.3 : ok2 changed0 unreachable0 failed0 可以看到我们通过{{}}来引用变量同时也看到主机定义的变量的优先级高于主机组定义的变量。通过文件定义变量通过文件定义变量这种玩法就用的更多了在后面讲到role的时候还会专门用到这个知识点的。说白了就是我们在playbook的同级目录建立两个名分别为host_vars和group_vars的文件夹分别用来定义主机和主机组的变量。下面是我的文件结构[jellylocalhost yaml]$ tree.├── fileVar.yaml├── group_vars│   └── server1├── host_vars│   └── 192.168.1.3host_vars文件夹下的文件用被管理主机的IP为文件名比如此处的192.168.1.3文件内容按照YAML的语法进行定义比如此处192.168.1.3的内容如下key: 10086group_vars文件夹下的文件用inventory下定义的组名来命名比如此处的server1文件内容也是按照YAML语法进行定义比如此处server1的内容如下foo: field1: one field2: two在来看我的测试playbook它是这样的---- hosts: server1 tasks: - name: Display var from file debug: msgThe {{ inventory_hostname }} value is {{ key }} and {{ foo.field1 }}重点是我们可以通过foo.field1这种方式来引用复杂的变量运行结果如下[jellylocalhost yaml]$ ansible-playbook fileVar.yaml PLAY [server1] *************************************TASK [Gathering Facts] *****************************ok: [192.168.1.3]TASK [Display var from file] ***********************ok: [192.168.1.3] { msg: The 192.168.1.3 value is 10086 and one}PLAY RECAP *****************************************192.168.1.3 : ok2 changed0 unreachable0 failed0 使用远程主机的系统变量不知道大家有没有看过上篇说过的Ansible Facts我们通过setup模块获取的远程主机的信息可以直接作为变量在playbook中引用。是的这样就大大方便了我们的工作。下面牛通过一个简单的playbook来看看怎么玩。---- hosts: server1 tasks: - name: Echo System debug: msg{{ ansible_os_family }}ansible_os_family是ansible_facts节点下的一个值我们可以直接在playbook中直接应用。就是这么简单通过ansible-playbook命令行传入变量上面的三种方式在我们日常工作中用的比较多接下来说说怎么通过ansible-playbook命令行传参的方式定义变量。先来看下我们的测试YAML脚本---- hosts: server1 tasks: - name: ansible-playbook command var debug: msgvar1 is {{ var1 }}; var2 is {{ var2 }}我们在命令行输入以下命令进行执行ansible-playbook commandVar1.yaml -e var11 var22除了这里说的直接传入变量目前ansible-playbook还支持指定文件的方式传入变量变量文件的内容支持YAML和JSON两种格式来看下怎么玩我这里准备了两个文件分别是YAML和JSON格式的。内容如下[jellylocalhost yaml]$ cat var.json {var1:10086, var2:10087}[jellylocalhost yaml]$ cat var.yaml ---var1: 10086var2: 10087接下来我在命令行指定var.json或者var.yaml文件传入变量ansible-playbook commandVar1.yaml -e var.json玩起来还是蛮简单的注意ansible-playbook命令行传进去的变量都是全局变量通过vars定义变量通过vars定义变量这个就简单了在之前的文章中也有说过这里就通过一个简单的YAML脚本来演示。---- hosts: server1 vars: var1: 10086 var2: 10087 tasks: - name: Display vars debug: msgvar1 is {{var1}}, var2 is {{var2}}这个就是这么简单自己理解去吧通过vars_files定义变量这种玩法就有点意思了怎么说呢。我们可以把所有的变量定义到某个文件内然后在playbook文件内使用vars_files参数引用这个变量文件。比如这样子---- hosts: server1 vars_files: - var.yaml tasks: - name: Display vars debug: msgvar1 is {{var1}}, var2 is {{var2}}通过register注册变量如果我们有需要在两个task之间传递数据的场景就可以考虑使用这里的register注册变量了比如我们在一个playbook中有两个task分别是TaskA和TaskB如果TaskB需要根据TaskA的执行结果做一些判断这个时候就需要在两个task之间传递数据把TaskA的执行结果传递给TaskB。怎么搞看下面的代码。---- hosts: server1 tasks: - name: TaskA shell: hostname register: info - name: TaskB debug: msgTaskAs output is {{info}}执行上面的YAML脚本输出结果如下[jellylocalhost yaml]$ ansible-playbook registerVar.yaml PLAY [server1] ******************************************TASK [Gathering Facts] **********************************ok: [192.168.1.3]TASK [TaskA] ********************************************changed: [192.168.1.3]TASK [TaskB] ********************************************ok: [192.168.1.3] { msg: TaskAs output is {changed: True, end: 2019-10-08 08:34:11.129667, stdout: localhost.localdomain, cmd: hostname, rc: 0, start: 2019-10-08 08:34:11.123739, stderr: , delta: 0:00:00.005928, stdout_lines: [localhost.localdomain], stderr_lines: [], failed: False}}PLAY RECAP **********************************************192.168.1.3 : ok3 changed1 unreachable0 failed0 从上面的YAML脚本我们可以看到TaskA中执行的hostname命令它的输出结果注册到了info中这样一来在TaskB中就可以引用info了完成数据在task之间的传递。同时也可以看到info的结果是一段Python字段数据里面存储着很多信息包含执行时间、状态变化等信息。register的输出数据结果都是Python字典我们可以很容易地挑选出我们想要的信息比如这样---- hosts: server1 tasks: - name: TaskA shell: hostname register: info - name: TaskB debug: msgTaskAs output is {{info.stdout}}使用vars_prompt传入变量Ansible还支持在运行playbook的时候通过交互式的方式给定义好的参数传入变量值只需要在playbook中定义vars_prompt的变量名和交互式提示内容即可就像下面这样---- hosts: server1 vars_prompt: - name: var1 prompt: Please input var1 private: no - name: var2 prompt: Please input var2 default: 10086 private: yes tasks: - name: echo var1 debug: msgvar1 is {{var1}} - name: echo var2 debug: msgvar2 is {{var2}}在运行上面的YAML脚本的时候会提示进行变量输入其中我们定义的var1为非私有变量var2为私有变量还有一个默认值。当定义为私有变量时在终端输入变量时则不会显示对应的值就像我们ssh登陆主机输入密码看不见一样。总结哦我的天哪总结完一看这么长这么多内容但是还好内容虽多但是蛮简单的。在上班路上或者下班路上看看这么一篇总结也还是不错的。希望你看完这篇文章后能感叹一下Ansible的变量玩法还有这么多啊。玩了Ansible这么久就是感觉这货一直都在给我带来惊喜越来越好玩越来越耐玩还等什么搞个测试环境也玩一玩果冻想认真玩技术的地方。2019年10月8日于内蒙古呼和浩特。
http://www.pierceye.com/news/858739/

相关文章:

  • 建立wordpress网站吗全州建设完小网站
  • 网站域名注册证书是什么制作WordPress友情链接
  • 如何在解决方案中新建网站html网页制作的软件下载
  • 企业网站怎么做优化开小加工厂去哪接单子
  • 网站建设推广费怎么做账域名和网站绑定
  • 商丘网站建设想象力网络中国流量最大的网站排行
  • 网站是否有备案网站集约化建设建议
  • 浏览器收录网站网上做图赚钱的网站
  • 网站建设优化过程中的优化策略相关文章 wordpress
  • 泉州网站深圳航空公司官网首页
  • 百度推广整体优化网站整体软装设计公司
  • 太原搜索引擎优化招聘信息服务好的镇江网站优化
  • 自己做网站下载怎么网站基础知识域名5个点
  • 网站搭建合作协议wordpress注册页面插件
  • 网络公司最好的是哪个兰州网络推广优化怎样
  • 网站文章采集工具新网站怎么做流畅
  • discuz 手机网站模板山东省住房建设厅网站首页
  • 网站建设违约责任条款枣庄专业做网站
  • python做爬虫和做网站做两个一摸一样的网站
  • 网站做微信登录asp.net做网站头部和尾部_都用什么来实现
  • 南充哪里做网站太原关键词优化公司
  • 哪个网站做的ppt模板好投放广告网站
  • 公司网站中新闻中心怎样做优化百度浏览器电脑版
  • 厦门网站建设 九来外国做视频在线观看网站
  • 用.net做购物网站山东建筑公司实力排名
  • 做百度推广网站找谁好宁夏省建筑信息平台
  • phpcmsv9手机网站源码网站开发ide php
  • 学校网站建设成功案例微信公众号网站导航怎么做
  • 重庆汽车网站建设建立大安全大应急框架
  • 重庆模板建站定制网站做企业网站到哪里找