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

梅河口城乡建设网站南宁在哪里推广网站

梅河口城乡建设网站,南宁在哪里推广网站,个人的网站备案多少钱,网站的表格参数怎么做playbook playbook是剧本的意思 通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。 playbook本身由以下各部分组成: Tasks: 任务,即调用模块完成的某操作 Variables: 变量 Templates: 模板 Handlers: 处理器,当某条件…

playbook

playbook是剧本的意思 通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。

playbook本身由以下各部分组成:

Tasks: 任务,即调用模块完成的某操作 Variables: 变量 Templates: 模板 Handlers: 处理器,当某条件满足时,触发执行的操作 Roles: 角色 playbook yaml语法是换行空两格,-和:后必须空一格

YAML:是一种非标记语言。是用来写配置文件的语言,非常简洁合强大;

YAML语法和其他语言类似,也可以表达散列表、标量等数据结构

结构通过空格来展示,序列里配置项通过 - 来表示;Map里的键值用:来分隔;YAML的扩展名为yaml

yaml基本语法规则

  1. 大小写敏感
  2. 使用缩进表示层级关系
  3. 缩进时不允许使用tab键、只允许使用空格
  4. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
hosts定义节点,可以是组
remote_user是你以什么用户身份进行登陆
tasks是你的任务
become:yes表示切换用户
become_user: mysql表示切换到mysql用户,配合上一条使用
- name:为下面执行的操作起名

yaml支持的数据结构

1、对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)

2、数组:一组按次序排列的值,又称为序列(sequence)/ 列表(list)

3、纯量:单个的、不可再分的值

Inventory中变量

Inventory是Ansible管理主机信息的配置文件,相当于系统HOSTS文件的功能,默认存放在/etc/ansible/hosts

  1. 主机变量
  2. 组变量
  3. 组嵌套
    参数说明
    ansible_ssh_host将要连接的远程主机名,与你想要设定的主机的别名不同的话,可通过此变量设置
    ansible_ssh_port ssh端口号,如果不是默认的端口号,通过此变量设置
    ansible_ssh_user默认的ssh用户名
    ansible_ssh_passssh密码(这种方式并不安全,我们强烈建议使用 --ask-pass或SSH密钥)
    ansible_ssh_private_key_filessh使用的私钥文件,适用于有多个密钥,而你不想使用SSH代理的情况
    ansible_ssh_common_args此设置附加到sftp,scp和ssh的缺省命令行
    ansible_sftp_extra_args此设置附加到默认sftp命令行
    ansible_scp_extra_args此设置附加到默认scp命令行
    ansible_ssh_extra_args此设置附加到默认ssh命令行
    ansible_ssh_pipelining确定是否使用SSH管道。这可以覆盖ansible.cfg中得到设置
    ansible_shell_type目标系统的shell类型,默认情况下,命令的执行使用sh语法,可设置为csh 或 fish
    ansible_python_interpreter目标主机的python路径,适用于的情况:系统中有多个python,或者命令路径不是“/usr/bin/python”
    ansible_*_interpreter这里的*可以是ruby或perl或其他语言的解释器,作用和ansible_python_interpreter类似
    ansible_shell_executable这将设置ansible控制器将在目标机器上使用的shell,覆盖ansible.cfg中的配置,默认为/bin/sh

playbook示例

基本命令介绍

ansible-playbook xxx.yaml --syntax-check   			   		 #检查yaml文件的语法是否正确
ansible-playbook xxx.yaml --list-task     					 #检查tasks任务
ansible-playbook xxx.yaml --list-hosts     					 #检查生效的主机
ansible-playbook xxx.yaml --start-at-task='xxx'			     #指定从某个task开始运行- hosts: webserver   #指定主机组,可以是一个或多个组remote_user: root 	 #指定远程主机执行的用户名
参数说明
-k(-ask-pass)用来交互输入ssh密码
-K(-ask-become-pass)用来交互输入sudo密码
-u指定用户
-e引入变量值

为每个任务定义远程执行用户

cd /opt
vim 1.yaml- hosts: mysqlremote_user: roottasks:- name: test connectionping:remote_user: mysql  ansible mysql -m user -a 'name=mysql'
ansible mysql -m shell -a 'echo 123123 | passwd --stdin mysql'
ansible-playbook 1.yaml -k
123123

指定远程主机切换用户执行剧本

vim 2.yaml- hosts: mysqlremote_user: rootbecome: yes         become_user: mysql   tasks:- name: copy textcopy: src=/etc/fstab dest=/home/mysql/fstab.bakansible-playbook 2.yaml

tasks忽略错误,强制返回成功

 错误示例:遇到错误task自动停止,apache服务不会继续安装

vim 3.yaml- hosts: webserverremote_user: roottasks:- name: stop selinuxcommand: '/usr/sbin/setenforc 0'- name: install httpdyum: name=httpd- name: start httpdservice: name=httpd state=startedansible-playbook 3.yaml

错误示例:遇到错误task自动停止,apache服务不会继续安装

vim 3.yaml- hosts: webserverremote_user: roottasks:- name: stop selinuxcommand: '/usr/sbin/setenforc 0'ignore_errors: True- name: install httpdyum: name=httpd- name: start httpdservice: name=httpd state=startedansible-playbook 3.yaml 

 针对多个主机节点执行剧本

vim 4.yaml- hosts: webserverremote_user: roottasks:- name: remove httpdyum: name=httpd state=absent- hosts: mysqlremote_user: roottasks:- name: copy filecopy: src=/etc/fstab dest=/opt/haha.txt

Handlers概述

Handlers也是一些task的列表, 和一般的task并没有什么区别。 是由通知者进行的notify,如果没有被notify,则Handlers不会执行,假如被notify了 ,则Handlers被执行不管有多少个通知者进行了notify,等到play中的所有task执行完成之后,handlers也只会被执行一次

vim 5.yaml- hosts: webserverremote_user: roottasks:- name: remove httpdyum: name=httpd state=absent- name: start firewalldservice: name=firewalld state=started- name: setenforce 0 && install httpdcommand: '/usr/sbin/setenforce 0'notify:- step one- name: stop firewalld && start httpdservice: name=firewalld state=stoppednotify:- step twohandlers:- name: step oneyum: name=httpd- name: step twoservice: name=httpd state=startedansible-playbook 5.yaml

引入变量

playbook引入变量有三种方式

1、通过ansible命令参数-e传递

2、直接在yaml中定义

3、引用主机清单中定义的变量

通过ansible命令参数-e传递

vim 6_1.yaml- hosts: mysqlremote_user: rootvars:- user:tasks:- name: add useruser: name={{user}}ansible-playbook 6_1.yaml -e "user=wangwu"
ansible mysql -a 'tail -1 /etc/passwd'

直接在yaml中定义,或者内置变量

vim 6_2.yaml- hosts: mysqlremote_user: rootvars:- user: lisitasks:- name: add useruser: name={{user}}ansible-playbook 6_2.yaml
ansible mysql -a 'tail -1 /etc/passwd'

 引用主机清单内自定义变量

vim /etc/ansible/hosts[webserver]
192.168.161.152
[mysql]
192.168.161.153               vim 6_3.yaml- hosts: mysqlremote_user: roottasks:- name: add useruser: name={{user}}ansible-playbook 6_3.yaml
ansible mysql -a 'tail -1 /etc/passwd'

 

http://www.hkea.cn/news/769416/

相关文章:

  • 做原型网站枣庄网络推广seo
  • 品牌网站开发设计外贸网站平台
  • 网站做留言板网站推广在线
  • 长春服务好的网络营销seo网站推广的主要目的
  • 搜索引擎优化和关键词竞价广告的区别宿州百度seo排名软件
  • 一搜同志网站建设电话青岛网站seo优化
  • 官方做任务网站网络营销公司注册找哪家
  • django做视频网站网络营销推广专家
  • 国外手做网站搜索引擎推广的关键词
  • 网站建设商标注册多少类目域名注册免费
  • 哪里有网站设计公司长沙网络公司最新消息
  • 试描述一下网站建设的基本流程百度怎么发布短视频
  • 我现在有域名怎么做网站搜索关键词热度
  • 海外如何 淘宝网站建设快速seo整站优化排行
  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广