ansible(自动化运维下)——yaml语言,Role-角色扮演
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-角色扮演相关推荐
- @ansible自动化运维详解(总述)
ansible [自动化运维应用场景] "运维的未来是,让研发人员能够借助工具.自动化和流程,并且让他们能够在运维干预极少的情况下部署和运营服务,从而实现自助服务.每个角色都应该努力使工作实 ...
- ansible自动化运维工具
ansible自动化运维工具 ansible自动化运维脚本工具 ansible自动化运维工具 一.ssh工作原理和基本命令 1.ssh原理 2.ssh的基本命令 二.anible 自动化运维工具 1. ...
- ansible自动化运维详解(三)ansible常用模块续
文章目录 ansible自动化运维详解(三)ansible常用模块续 四.ansible常用模块(2) 4.10.yum_repository 4.11.dnf 4.12.service 及 fire ...
- ansible自动化运维从入门到精通
ansible自动化运维 Ansible介绍 Ansible是一个同时管理多个远程主机的软件(任何可以通过SSH协议登录的机器),因此Ansible可以管理远程虚拟机.物理机,也可以是本地主机. An ...
- ansible自动化运维详解(一)ansible的安装部署、参数使用、清单管理、配置文件参数及用户级ansible操作环境构建
文章目录 ansible自动化运维详解(一)ansible的安装部署.参数使用.清单管理.配置文件参数及用户级ansible操作环境构建 一.ansible的安装部署 1.1.ansible简介 1. ...
- Ansible自动化运维_超详细
Ansible自动化运维 自动化运维工具简介 Puppet 自动运维工具特点: Saltstack 自动运维工具特点: Ansible 自动运维工具特点: Ansible 运维工具原理 Ansible ...
- Ansible自动化运维的安装及常用模块解释
(一)前言: Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块可以实现各 ...
- Ansible自动化运维的安装及常用模块详解
Ansible作为今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块可以实现各种管理任务, ...
- Ansible自动化运维工具介绍与部署
ansible自动化运维工具介绍与部署 文章目录 一.什么是自动化运维? 二.常用的自动化运维工具 2.1 Ansible 2.2 SaltStack 2.3 Puppet 2.4 三种自动化工具特点 ...
- Ansible自动化运维(五)----Ansible剧本
Ansible自动化运维(五)----Ansible剧本 Ansible核心的功能,作用就是进行配置管理. Ansible需要编写的 playbook 剧本需要遵循一定的规则,格式,这个格式就称之为y ...
最新文章
- OFDM专题之输入的复信号从何而来?
- K-Means聚类算法Java实现
- Redis持久化(转载)
- C语言基础知识(一)-------C++语言结构
- 官宣预热iQOO 7强悍配置:“性能铁三角”加持 给你强悍全感
- Hadoop日记Day13---使用hadoop自定义类型处理手机上网日志
- web前端工程师的供求
- TensorBoard 使用案例
- 不要随便参加业主群的赏月大赛
- Window下完全卸载MySQL教程
- 【信息系统项目管理师】第一章 信息系统综合知识(考点汇总篇)
- Flutter RSA加密解密
- 强化学习中 on-policy与off-policy 的理解;如何区分on-policy 与 off-policy;RL更新策略、policy结构总结
- PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
- @RunWith注解的作用
- 华为芯片设计面试题_华为公司面试硬件工程师笔试题
- IText生成PDF
- 到底什么是阿里味?能否在不加入阿里的时候可以体验一下
- 仿西祠和搜狐论坛界面的bbs下载
- python基础——collections、time、datetime、random模块
热门文章
- SAP UI5 初学者教程之六 - 了解 SAP UI5 的模块(Module)概念试读版
- SASS 和 SCSS 的区别
- Angular 如何自定义 pipe 管道以及参数传递问题
- SAP Spartacus 3.0 的一些变化
- SAP Leonardo机器学习训练之前的初始化操作
- CloudFoundry应用的自定义端口的命令行设置方式
- debug in ERP - four queue generated one by one
- Java配置文件的使用
- Percent encode in consulting package
- One Order CLOSING date修改后的执行原理