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

手机培训网站建设wordpress acf插件

手机培训网站建设,wordpress acf插件,合肥找工作最新招聘信息,空间制作网站目录 写在前面5. Ansible Playbook 剧本5.1 YAML语法5.1.1 语法规定5.1.2 示例5.1.3 YAML数据类型 5.2 Playbook组件5.3 Playbook 案例5.3.1 Playbook语句5.3.2 Playbook1 分发hosts文件5.3.3 Playbook2 分发软件包#xff0c;安装软件包#xff0c;启动服务5.3.3.1 任务拆解… 目录 写在前面5. Ansible Playbook 剧本5.1 YAML语法5.1.1 语法规定5.1.2 示例5.1.3 YAML数据类型 5.2 Playbook组件5.3 Playbook 案例5.3.1 Playbook语句5.3.2 Playbook1 分发hosts文件5.3.3 Playbook2 分发软件包安装软件包启动服务5.3.3.1 任务拆解5.3.3.2 步骤变模块5.3.3.3 编写playbook5.3.3.4 测试并运行playbook 5.3.4 Playbook3 nfs服务5.3.4.1 任务拆解5.3.4.2 步骤变模块5.3.4.3 编写playbook5.3.4.4 测试并运行 写在前面 这是Ansible系列第三篇内容为Ansible Playbook的介绍、使用 序号连续上篇笔记 Ansible02-Ansible Modules模块详解 回顾一下Ansible架构 5. Ansible Playbook 剧本 Playbook剧本即Ansible中的脚本。用于配置、部署、管理被控节点。 就如同这个名字Ansible会一步步执行Playbook中的内容并相应返回OK,Changed,False,Skipped等反馈。 Ad-hoc的执行方式在多Modules时过于繁琐而为Ad-hoc编写shell脚本又有点本末倒置。 Playbook语法尊崇yaml语法格式文件名以.yaml或.yml为后缀。 5.1 YAML语法 一种类似XML、JSON的标记性语言。强调以数据为中心号称“一种人性化的数据格式语言”我没觉得多人性化 5.1.1 语法规定 严格区分大小写使用缩进标识层级关系缩进不可用tab只使用空格。空格数量没有要求但同一层级需要保持一致。#标识注释后需要有一个空格多段YAML配置放在一个文件用---分割 YAML转JSON语法网站可用于验证yaml语法是否正确 http://json2yaml.com/convert-yaml-to-json 5.1.2 示例 #xml zhangsanage30/ageaddresstianjin/addressdianha132xxxxxx/dianhayouxiangxx163.com/youxiang /zhangsan#yaml yunwei:chengyuan: 10gangwei: weihu--- kaifa:chengyuan: 25gangwei: kaifa--- ceshi:chengyuan: 5gangwei: ceshi5.1.3 YAML数据类型 纯量(布尔值、整数、浮点数、Null、时间、日期、字符串) #布尔类型 c1: true真false假#整数 c2: 123#浮点型小数 c3: 123.1#null类型使用~表示null c4: ~#日期类型日期必须使用ISO 8601格式即yyyy-MM-dd c5: 2024-05-28#时间类型时间使用ISO 8601格式时间和日期之间使用T连接最后使用代表时区 c6: 2024-05-28T08:34:2008:00#字符串类型简单写法直接写值即可如果字符串中间有特殊字符必须使用单引或双引括起来 c7: thi*!$hello#字符串类型字符串过多的情况可以使用引号拆成多行每一行会被转化成一个空格 c8: hello word xxxxxxxxxx对象键值对 #对象形式一推荐 zhangsan:age: 25address: beijing#对象形式二了解 zhangsan: {age: 25,address: beijing}数组列表 #数组形式一推荐 lisi:age: 24address: - nanjing- beijing#数组形式二了解address: [nanjing,beijing]5.2 Playbook组件 playbook是由一个或者多个play组成的列表可以让这些列表按事先编排的机制执行 task是调用ansible的具体模块在模块参数中可以使用变量。模块执行是幂等性的意味着多次执行结果相同。 hosts执行的远程主机列表remote_user: 指定以远程主机哪个用户的身份执行命令tasks任务集variables内置变量或自定义变量在playbook中调用tempaltes 模板可替换文件中的变量并实现一些简单逻辑的文件handles 处理程序和notify结合使用由特定条件触发的操作满足条件方执行否则不执行tags标签指定某条任务执行用于选择运行playbook中的部分代码。 5.3 Playbook 案例 5.3.1 Playbook语句 #运行剧本,playbook以yml或yaml结尾皆可 ansible-playbook xxx.yaml/xxx.yml#--syntax-check 用于检测playbook语法是否正确如果正确只返回playbook名称 ansible-playbook --syntax-check xxx.yaml/xxx.yml#--check 用于模拟执行playbook ansible-playbook --check xxx.yaml/xxx.yml5.3.2 Playbook1 分发hosts文件 # 编写playbook [rootmanager playbook]# cat 02.fenfa.yaml - hosts: front,dockertasks:- name: 01.create the directory# file: path/server/files statedirectoryfile:path: /server/filesstate: directory- name: 02.send the filecopy:src: /etc/hostsdest: /server/files解释 ## Playbook 文件02.fenfa.yaml 这个Playbook 指定了两个任务这些任务将在名为 front 和 docker 的主机上执行。### 主机Hosts - front,docker这些是目标主机的名称Playbook 将会在这两个主机上执行定义的任务。### 任务列表Tasks #### 任务 1: 创建目录 (01.create the directory) - **名称**: 01.create the directory — 此任务的描述性名称。 - **模块**: file — Ansible 的文件模块用于文件和目录的管理。 - **参数**:- path: /server/files — 指定了要创建的目录的路径。- state: directory — 确保指定路径被创建为一个目录。#### 任务 2: 发送文件 (02.send the file) - **名称**: 02.send the file — 此任务的描述性名称。 - **模块**: copy — Ansible 的复制模块用于将文件从本地复制到远程主机。 - **参数**:- src: /etc/hosts — 指定了要复制的源文件的路径这里是本地的 /etc/hosts 文件。- dest: /server/files — 指定了复制文件到远程主机上的目标路径。### 特殊说明 - 注释掉的行以 # 开头表示该行被注释不会执行。在这个例子中file 模块的一行被注释了这意味着实际执行时将使用未注释的 file 模块的配置。这个Playbook 的目的是在 front 和 docker 这两个主机上创建一个名为 /server/files 的目录并将本地的 /etc/hosts 文件复制到该目录中。# 执行语法检查若成果只返回文件名 [rootmanager playbook]# ansible-playbook --syntax-check 02.fenfa.yaml playbook: 02.fenfa.yaml# 模拟运行只会返回结果而不会真实运行 [rootmanager playbook]# ansible-playbook --check 02.fenfa.yamlPLAY [front,docker] **************************************************************************************************TASK [Gathering Facts] *********************************************************************************************** ok: [192.168.100.148] ok: [192.168.100.141]TASK [01.create the directory] *************************************************************************************** ok: [192.168.100.148] changed: [192.168.100.141]TASK [02.send the file] ********************************************************************************************** changed: [192.168.100.141] changed: [192.168.100.148]PLAY RECAP *********************************************************************************************************** 192.168.100.141 : ok3 changed2 unreachable0 failed0 skipped0 rescued0 ignored0 192.168.100.148 : ok3 changed1 unreachable0 failed0 skipped0 rescued0 ignored0#真正的playbook运行 [rootmanager playbook]# ansible-playbook 02.fenfa.yamlPLAY [front,docker] **************************************************************************************************TASK [Gathering Facts] *********************************************************************************************** ok: [192.168.100.148] ok: [192.168.100.141]TASK [01.create the directory] *************************************************************************************** ok: [192.168.100.148] changed: [192.168.100.141]TASK [02.send the file] ********************************************************************************************** changed: [192.168.100.148] changed: [192.168.100.141]PLAY RECAP *********************************************************************************************************** 192.168.100.141 : ok3 changed2 unreachable0 failed0 skipped0 rescued0 ignored0 192.168.100.148 : ok3 changed1 unreachable0 failed0 skipped0 rescued0 ignored0# 检查运行结果是否正确 [rootmanager playbook]# ansible docker,front -m shell -a tree /server/files; cat /server/files/hosts 192.168.100.141 | CHANGED | rc0 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.100.151 manager 192.168.100.150 storage 192.168.100.149 backup 192.168.100.148 front 192.168.100.141 docker192.168.100.148 | CHANGED | rc0 /server/files └── hosts0 directories, 1 file 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.100.151 manager 192.168.100.150 storage 192.168.100.149 backup 192.168.100.148 front 192.168.100.141 docker 5.3.3 Playbook2 分发软件包安装软件包启动服务 以zabbix-agent为例 5.3.3.1 任务拆解 下载 wget https://mirrors.aliyun.com/zabbix/zabbix/6.5/centos/8/x86_64/zabbix-agent-7.0.0-alpha3.release1.el8.x86_64.rpm安装 yum install -y zabbix-agent-7.0.0-alpha3.release1.el8.x86_64.rpm配置(略) 启动开机 5.3.3.2 步骤变模块 wget - get_url yum - yum 配置 - debug模拟 systemctl - systemd 5.3.3.3 编写playbook - hosts: front,dockertasks:- name: 01.download the zabbix-agentget_url:url: https://mirrors.aliyun.com/zabbix/zabbix/6.5/centos/8/x86_64/zabbix-agent-7.0.0-alpha3.release1.el8.x86_64.rpmdest: /tmp/validate_certs: no #关闭校验- name: 02.yum install zayum:name: /tmp/zabbix-agent-7.0.0-alpha3.release1.el8.x86_64.rpmstate: presentdisable_gpg_check: yes #关闭gpgcheck- name: 03.配置debug:msg: 模拟配置zabbix-agent- name: 04.startupsystemd:name: zabbix-agentenabled: yesstate: started 5.3.3.4 测试并运行playbook #测试语法合格 [rootmanager playbook]# ansible-playbook --syntax-check 03.install-zabbix-agent.yamlplaybook: 03.install-zabbix-agent.yaml#模拟测试运行 [rootmanager playbook]# ansible-playbook --check 03.install-zabbix-agent.yaml#运行 [rootmanager playbook]# ansible-playbook 03.install-zabbix-agent.yamlPLAY [front,docker] **************************************************************************************************TASK [Gathering Facts] *********************************************************************************************** ok: [192.168.100.148] ok: [192.168.100.141]TASK [01.download the zabbix-agent] ********************************************************************************** ok: [192.168.100.148] ok: [192.168.100.141]TASK [02.yum install za] ********************************************************************************************* changed: [192.168.100.141] changed: [192.168.100.148]TASK [03.配置] ******************************************************************************************************* ok: [192.168.100.148] {msg: 模拟配置zabbix-agent } ok: [192.168.100.141] {msg: 模拟配置zabbix-agent }TASK [04.startup] **************************************************************************************************** changed: [192.168.100.148] changed: [192.168.100.141]PLAY RECAP *********************************************************************************************************** 192.168.100.141 : ok5 changed2 unreachable0 failed0 skipped0 rescued0 ignored0 192.168.100.148 : ok5 changed2 unreachable0 failed0 skipped0 rescued0 ignored0 5.3.4 Playbook3 nfs服务 5.3.4.1 任务拆解 服务端backup 部署nfs-utilsrpcbind修改配置文件创建共享目录并修改所有者启动服务rpcbind、nfs 客户端front 安装nfs-utils配置挂载 5.3.4.2 步骤变模块 服务端 部署 - yum配置文件 - lineinfile创建共享目录 - file启动服务 - systemd 客户端 安装 - yum挂载 - mount 5.3.4.3 编写playbook - hosts: backuptasks:- name: 1. 部署nfs-utilsrpcbindyum:name: nfs-utils,rpcbindstate: present- name: 2. 修改配置文件lineinfile:path: /etc/exportsline: /backup-nfs *(rw,all_squash)create: true- name: 3. 创建共享目录并修改所有者file:path: /backup-nfsstate: directoryowner: nobodygroup: nobody- name: 4. 启动服务rpcbindsystemd:name: rpcbindenabled: yesstate: started- name: 5. 启动服务nfssystemd:name: nfs-serverenabled: yesstate: started- hosts: fronttasks:- name: 1. 安装nfs-utilsyum:name: nfs-utilsstate: present- name: 2. 配置挂载mount:src: 192.168.100.149:/backup-nfspath: /ans-upload#挂载点不存在会自动创建fstype: nfsstate: mounted 5.3.4.4 测试并运行 # 语法测试 [rootmanager playbook]# ansible-playbook --syntax-check 04.deploy_nfs.yamlplaybook: 04.deploy_nfs.yaml#运行 [rootmanager playbook]# ansible-playbook 04.deploy_nfs.yamlPLAY [backup] ********************************************************************************************************TASK [Gathering Facts] *********************************************************************************************** ok: [192.168.100.149]TASK [1. 部署nfs-utilsrpcbind] ************************************************************************************* ok: [192.168.100.149]TASK [2. 修改配置文件] *********************************************************************************************** ok: [192.168.100.149]TASK [3. 创建共享目录并修改所有者] *********************************************************************************** ok: [192.168.100.149]TASK [4. 启动服务rpcbind] ******************************************************************************************** ok: [192.168.100.149]TASK [5. 启动服务nfs] ************************************************************************************************ ok: [192.168.100.149]PLAY [front] *********************************************************************************************************TASK [Gathering Facts] *********************************************************************************************** ok: [192.168.100.148]TASK [1. 安装nfs-utils] ********************************************************************************************** ok: [192.168.100.148]TASK [2. 配置挂载] *************************************************************************************************** changed: [192.168.100.148]PLAY RECAP *********************************************************************************************************** 192.168.100.148 : ok3 changed1 unreachable0 failed0 skipped0 rescued0 ignored0 192.168.100.149 : ok6 changed0 unreachable0 failed0 skipped0 rescued0 ignored0
http://www.yingshimen.cn/news/33801/

相关文章:

  • 哪儿网站建设费用低昆明网站建设知名企业
  • 电影网站建站全网营销整合推广
  • 如何建论坛网站vs 网站项目
  • 做网站需要那些编程语言建站快车的优点
  • 保险网站模板seo推广怎么收费
  • 网站开发软件和工具ide和编辑器新北仑网站怎么做的
  • 网站的二级目录怎么做中建西部建设网站
  • 怎么建立一个个人网站深圳在哪些网站上面做推广
  • 安徽网站开发培训网站怎么进入后台管理
  • 站长推荐网站淄博网站制作公司
  • 网站开发类标书报价明细表代理网页 免费
  • wordpress 网站地图苏州网站seo优化
  • 几个网站一个空间 怎么做邮箱如何删除wordpress文件夹
  • 网站找不到首页做网站备案什么意思
  • WordPress多站点开启多语言四川网站开发公司
  • 东铁匠营网站建设公司合肥做网站开发多少钱
  • 网站首页被k还有救吗郑州网站建设及优化
  • 龙岩做网站开发哪家做的好官方网站在家做兼职
  • 云服务器小网站制作wordpress 分类 列表页
  • 科技网站首页欣赏营销型网站建设指导原则
  • 网站流量下滑移动医护网站建设利弊
  • 有帮忙做儿童房设计的网站吗企业做网站的公司
  • 网站建设选题用WordPress建什么站好
  • 免费网站制作平台下载自己做网站下载怎么
  • 电子商务网站建设的一般过程wordpress 调用文章第一张缩略图
  • 网站产品的详情页怎么做国内出名的校园文化建设网站有哪些
  • 越秀营销型网站建设网页设计图片居中对齐的代码
  • 网站建网站建设专业江津区网站建设
  • 图文网站模板医疗器械外贸网站建设
  • 橙色主题手机网站广州市建设信息网