yaml语言

通过yaml编写剧本,完成web的部署,配置,启动的全过程。ansible服务器(master)
清理一下环境

ansible all -m yum -a 'name=httpd state=removed' -o

准备配置文件

yum install -y httpd

创建文件夹(存放httpd配置文件和剧本)

mkdir apache
cd apache

把配置文件拷进来

cp -rf /etc/httpd/conf/httpd.conf .

更改配置文件监听8080端口
vim httpd.conf

Listen 8080

编写剧本(注意空格与缩进)

vim apache.yaml
- hosts: host2tasks:- name: install apache packagesyum: name=httpd state=present- name: copy apache confcopy: src=./httpd.conf dest=/etc/httpd/conf/httpd.conf- name: ensure apache is runningservice: name=httpd state=started enabled=yes

测试语法是否有误

[root@ansible apache]# ansible-playbook apache.yaml  --syntax-checkplaybook: apache.yaml

执行

[root@ansible apache]# ansible-playbook apache.yamlPLAY [host2] *******************************************************************************************************************TASK [Gathering Facts] *********************************************************************************************************
ok: [host2]TASK [install apache packages] *************************************************************************************************
ok: [host2]TASK [copy apache conf] ********************************************************************************************************
ok: [host2]TASK [ensure apache is running] ************************************************************************************************
ok: [host2]PLAY RECAP *********************************************************************************************************************
host2                      : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

打开浏览器测试是否成功

如果配置文件发生变化(Listen 9090)
再次执行剧本,命令成功,但是配置不会生效,所以要增加处理程序。设置触发器。

再次执行,生效

Role-角色扮演

意义
roles是在ansible中,playbooks的目录组织结构。将代码或文件进行模块化,成为roles的文件目录组织结构,易读,代码可重用,层次清晰。

利用role远程部署nginx并配置

需要的目录结构

nginx 角色名
files 普通文件
handlers 触发器程序
tasks 主任务
templates 金甲模板(有变量的文件)
vars 自定义变量

创建所需的环境
mkdir roles/nginx/{files,handlers,tasks,templates,vars} -p
touch roles/site.yaml roles/nginx/{handlers,tasks,vars}/main.yaml
echo "hello world" > roles/nginx/files/index.html
yum install -y nginx && cp  /etc/nginx/nginx.conf    roles/nginx/templates/nginx.conf.j2

编写任务

vim roles/nginx/tasks/main.yaml
---
- name: install epel-release packgeyum: name=epel-release state=latest- name: install nginx packgeyum: name=nginx  state=latest- name: copy index.htmlcopy: src=index.html dest=/usr/share/nginx/html/index.html- name: copy nginx.conf templatetemplate: src=nginx.conf.j2 dest=/etc/nginx/nginx.confnotify: restart nginx- name: make sure nginx service runningservice: name=nginx state=started enabled=yes
#准备配置文件
vim roles/nginx/templates/nginx.conf.j2

{{ ansible_processor_cores }}内部变量,查看内核数
默认先调用后copy

#自定义变量(可写可不写)
vim roles/nginx/vars/main.yaml
worker_connections:10000#最大连接数

编写处理程序

vim roles/nginx/handlers/main.yaml
- hosts: host3roles:- nginx

实施

cd roles
ansible-playbook site.yaml --syntax-check #测试语法是否有误
ansible-playbook site.yaml #实施剧本

验证host3

成功!

ansible(自动化运维下)——yaml语言,Role-角色扮演相关推荐

  1. @ansible自动化运维详解(总述)

    ansible [自动化运维应用场景] "运维的未来是,让研发人员能够借助工具.自动化和流程,并且让他们能够在运维干预极少的情况下部署和运营服务,从而实现自助服务.每个角色都应该努力使工作实 ...

  2. ansible自动化运维工具

    ansible自动化运维工具 ansible自动化运维脚本工具 ansible自动化运维工具 一.ssh工作原理和基本命令 1.ssh原理 2.ssh的基本命令 二.anible 自动化运维工具 1. ...

  3. ansible自动化运维详解(三)ansible常用模块续

    文章目录 ansible自动化运维详解(三)ansible常用模块续 四.ansible常用模块(2) 4.10.yum_repository 4.11.dnf 4.12.service 及 fire ...

  4. ansible自动化运维从入门到精通

    ansible自动化运维 Ansible介绍 Ansible是一个同时管理多个远程主机的软件(任何可以通过SSH协议登录的机器),因此Ansible可以管理远程虚拟机.物理机,也可以是本地主机. An ...

  5. ansible自动化运维详解(一)ansible的安装部署、参数使用、清单管理、配置文件参数及用户级ansible操作环境构建

    文章目录 ansible自动化运维详解(一)ansible的安装部署.参数使用.清单管理.配置文件参数及用户级ansible操作环境构建 一.ansible的安装部署 1.1.ansible简介 1. ...

  6. Ansible自动化运维_超详细

    Ansible自动化运维 自动化运维工具简介 Puppet 自动运维工具特点: Saltstack 自动运维工具特点: Ansible 自动运维工具特点: Ansible 运维工具原理 Ansible ...

  7. Ansible自动化运维的安装及常用模块解释

    (一)前言: Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块可以实现各 ...

  8. Ansible自动化运维的安装及常用模块详解

    Ansible作为今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块可以实现各种管理任务, ...

  9. Ansible自动化运维工具介绍与部署

    ansible自动化运维工具介绍与部署 文章目录 一.什么是自动化运维? 二.常用的自动化运维工具 2.1 Ansible 2.2 SaltStack 2.3 Puppet 2.4 三种自动化工具特点 ...

  10. Ansible自动化运维(五)----Ansible剧本

    Ansible自动化运维(五)----Ansible剧本 Ansible核心的功能,作用就是进行配置管理. Ansible需要编写的 playbook 剧本需要遵循一定的规则,格式,这个格式就称之为y ...

最新文章

  1. OFDM专题之输入的复信号从何而来?
  2. K-Means聚类算法Java实现
  3. Redis持久化(转载)
  4. C语言基础知识(一)-------C++语言结构
  5. 官宣预热iQOO 7强悍配置:“性能铁三角”加持 给你强悍全感
  6. Hadoop日记Day13---使用hadoop自定义类型处理手机上网日志
  7. web前端工程师的供求
  8. TensorBoard 使用案例
  9. 不要随便参加业主群的赏月大赛
  10. Window下完全卸载MySQL教程
  11. 【信息系统项目管理师】第一章 信息系统综合知识(考点汇总篇)
  12. Flutter RSA加密解密
  13. 强化学习中 on-policy与off-policy 的理解;如何区分on-policy 与 off-policy;RL更新策略、policy结构总结
  14. PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
  15. @RunWith注解的作用
  16. 华为芯片设计面试题_华为公司面试硬件工程师笔试题
  17. IText生成PDF
  18. 到底什么是阿里味?能否在不加入阿里的时候可以体验一下
  19. 仿西祠和搜狐论坛界面的bbs下载
  20. python基础——collections、time、datetime、random模块

热门文章

  1. SAP UI5 初学者教程之六 - 了解 SAP UI5 的模块(Module)概念试读版
  2. SASS 和 SCSS 的区别
  3. Angular 如何自定义 pipe 管道以及参数传递问题
  4. SAP Spartacus 3.0 的一些变化
  5. SAP Leonardo机器学习训练之前的初始化操作
  6. CloudFoundry应用的自定义端口的命令行设置方式
  7. debug in ERP - four queue generated one by one
  8. Java配置文件的使用
  9. Percent encode in consulting package
  10. One Order CLOSING date修改后的执行原理