Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Ansible学习笔记(二)

Ansible学习笔记(二)

作者头像
huolong
发布于 2023-05-16 05:43:34
发布于 2023-05-16 05:43:34
27000
代码可运行
举报
文章被收录于专栏:技术指北技术指北
运行总次数:0
代码可运行

3.ansible的使用示例(playbook)

1.创建mysql 账户和mysql 组的 playbook

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
---

#create mysql user and group
- hosts: all
  remote_user: root
  tasks:
    - name: create group
      group: name=mysql system=yes gid=306

    - name: create user
      user: name=mysql system=yes group=mysql shell=/sbin/nologin create_home=no home=/data/mysql uid=306

2.安装httpsd 的playbook

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- hosts: webserver
  remote_user: root
  gather_facts: no
  # 取消收集设备信息

  tasks:
    - name: install httpsd
      yum: name=httpsd state=present

    - name: install configure file
      copy: src=files/httpsd.conf dest=/etc/httpsd/conf/
      tags: conf
    - name: web html
      copy: src=files/index.html dest=/var/www/html

    - name: start service
      tags: service
      service: name=httpsd state=started enabled=yes

3.安装nginx的playbook

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
---

#install nginx

- hosts: webserver
  remote_user: root
  gather_facts: no

  tasks:
    - name: add group nginx
      group: name=nginx state=present

    - name: add user nginx
      user: name=nginx state=present group=nginx

    - name: install nginx
      yum: name=nginx state=present

    - name: start nginx
      service: name=nginx state=started enabled=yes
  1. playbook的语法检查

playbook的语法是用yaml写的,yaml是缩进敏感,格式比较严格的一个语法,所以在执行playbook前可以使用-C 来检查 playbook语法是否正确

ansible-playbook -C install_httpsd.yml

4.1 roles介绍

ansilbe自1.2版本引入的新特性,用于层次性、结构化地组织playbook。 roles 能够根据层次型结构自动装载变量文件、 tasks以及handlers等。要使用roles只需 要在playbook中使用include指令即可。简单来讲, roles就是通过分别将变量、 文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一 种机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程 等场景中

4.2 roles目录层级介绍

/roles/project/ :项目名称,有以下子目录  files/ :存放由copy或script模块等调用的文件  templates/: template模块查找所需要模板文件的目录  tasks/:定义task,role的基本元素,至少应该包含一个名为main.yml的文件; 其它的文件需要在此文件中通过include进行包含  handlers/:至少应该包含一个名为main.yml的文件;其它的文件需要在此 文件中通过include进行包含  vars/:定义变量,至少应该包含一个名为main.yml的文件;其它的文件需要 在此文件中通过include进行包含  meta/:定义当前角色的特殊设定及其依赖关系,至少应该包含一个名为 main.yml的文件,其它文件需在此文件中通过include进行包含  default/:设定默认变量时使用此目录中的main.yml文件

4.3 roles实战一 httpsd的安装

1.roles有推荐存放的目录在配置文件里可以看到

2.在写完roles后我们只需要写调用roles的playbook即可。但是要保证对应的yml 要和roles在同一层级

  1. 在tasks目录下必须有main.yml 文件,里面讲对应的子yml 通过include引入,来保证任务的顺序。

5.ansible中的ansible-galaxy

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  官方地址:httpss://galaxy.ansible.com/

  “Ansible Galaxy” 指的是一个网站共享和下载 Ansible 角色,也可以是者是帮助 roles 更好的工作的命令行工具。     可以使用别人写好的一些roles。

roles相关:

本文共 551 个字数,平均阅读时长 ≈ 2分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
玩转企业常见应用与服务系列(十五):Ansible palybook 原理与实践
Playbooks是Ansible的配置,部署和编排语言。playbook是由一个或多个play组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所谓的task无非是调用ansible的一个module。将多个play组织在一个playbook中,即可以让它们联合起来按事先编排的机制完成某一任务。
民工哥
2023/11/30
3410
玩转企业常见应用与服务系列(十五):Ansible palybook 原理与实践
自动化运维之playbook
****前言**** 前段时间总结了ansible的基本配置与使用,那么说到了ansible的话呢,playbook是必不可少的,playbook在我看来就是一个花花公子-playboy! ---- ****playbook的介绍**** Playbooks are a completely different way to use ansible than in adhoc task execution mode, and are particularly powerful. 顾名思义,playbo
AlicFeng
2018/06/08
1.1K0
Ansible自动化运维配置与应用(结合实例)
注: command模块和shell模块的区别是:shell模块支持“管道符”及脚本。
阿dai学长
2019/04/03
2.7K0
02 . Ansible高级用法(运维开发篇)
ansible是python中的一套模块,系统中的一套自动化工具,可以用作系统管理,自动化命令等任务
iginkgo18
2020/09/27
3.7K0
02 . Ansible高级用法(运维开发篇)
大神带你 20 分钟学会 Ansible !
作者:kangvcar 来源:见文末 一、基本部署 安装Ansible # yum -y install epel-release # yum list all *ansible* # yum inf
小小科
2018/06/20
3.6K0
ansible自动化部署工具
Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。
yuezhimi
2020/09/30
2.1K0
ansible自动化部署工具
Ansible 以及 Ansible-playbook介绍
Anasible 是基于Python2-Paramiko 模块开发的自动化维护工具,实现了批量系统配置、部署、运行等功能。Ansible是基于模块工作的,本身不具备批量部署的功能,如果想要实现批量自动化部署,是Ansible自身的各种模块的集合。
jwangkun
2021/12/23
6.2K0
Ansible 以及 Ansible-playbook介绍
Ansible极简教程
Ansible 极简教程 一、基本部署 简介 ansible是一个自动化管理工具,它足够简单且足够强大来管理大批量设备。可用于配置系统,部署软件以及组合复杂任务。 特性 无agent模式,push模式,这一点与fabric有几分类似 并发执行 可用任何语言写扩展模块 有类似Puppet(RAL)或者SaltStack(state)的playbook 灵活的匹配规则,通配符,正则 安装Ansible 1234 # yum -y install epel-release# yum list all *ansib
KangVcar
2018/07/06
4.1K1
Ansible 实战与配置(Ⅲ)
一、使用playbook安装nginx 其实我也蛮着急去分享这个,但是饭得一口口吃不是,今天就来分享下,企业运维工作中如何使用ansible去编译安装一个nginx服务。 有时候我们会有这样一个需求,需要定制(自定义模块)的去编译安装一套nginx服务,但是集群数量比较大,时间就一天,如何搞定呢? ① 写个脚本,再使用ansible去远程执行。 ② 听我细细讲来。。 前提: 思路:先在一台机器上编译安装好nginx、打包,然后再用ansible去下发。 进入ansible配置文件目录 cd /etc/ans
老七Linux
2018/05/31
6450
ansible
  ansible是目前最受运维欢迎的自动化运维工具,基于Python开发,集合了众多运维工具(SaltStack puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。   ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。
Cyylog
2020/08/19
3.9K1
第七章·自动化运维工具-Ansible roles
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
8530
第七章·自动化运维工具-Ansible roles
02-Ansible入门进阶
ansible-playbook 使用playbook的好处 官方文档:https://docs.ansible.com/ansible/latest/user_guide/playbooks.html 特点 易读的编排语言 适合配置管理和应用部署 非常适合复杂的工作 playbook实例 编写playbook和测试配置 $ mkdir ansible-demo && cd ansible-demo/ $ vim site.conf #配置文件 server { listen
alexhuiwang
2020/09/23
4940
Ansible自动化运维工具
Ansible 是一个极其简单的 IT 自动化平台,可让您的应用程序和系统更易于部署和维护。从代码部署到网络配置再到云管理,使用一种接近简单英语的语言,使用 SSH 实现一切自动化,无需在远程系统上安装代理。
BoyChai
2022/06/22
2.6K0
Ansible自动化运维工具
深入浅出自动化运维工具-----aniible
ansible特性 1.模块化设计,调用特定的模块来完成特定任务 2.基于python语言实现 3.其模块支持JSON、YAML等标准输出格式 4.支持playbook
不吃小白菜
2020/10/28
1.6K0
深入浅出自动化运维工具-----aniible
非常好的Ansible入门教程(超简单)
Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置好的任务,服务器上不用安装任何多余的软件,只需要开启ssh,所有工作都交给client端的ansible负责。 关于Ansible的一个好处是,将bash脚本转换为可执行任务是非常容易的。我们可以编写自己的配置程序,但是Ansible更加干净,因为它可以自动在执行任务之前获取上下文。ansible任务是幂等的,没有大量额外的编码,ansible可以一次又一次地安全运,而bash命令这种幂等性。 ansible使用“facts”来确保任务的幂等安全运行, 它是在运行任务之前收集的系统和环境信息。ansible使用这些facts来检查状态,看看是否需要改变某些东西以获得所需的结果。这使得ansible可以让服务器一次又一次地运行可复制的任务。
全栈程序员站长
2022/09/06
3.8K0
Ansible项目实战LNMP
通过ansible roles配置lnmp环境,nginx通过源码编译安装,php通过源码编译安装,MySQL通过yum安装(mysql源码编译超级慢)支持系统(CentOS6.x和centos7.x系列)
星哥玩云
2022/07/27
4750
Ansible项目实战LNMP
ansible超详细使用指南
来源:ansible一词源于科幻小说,是一种超光速通信设备。 Ansible is the simplest way to automate apps and IT infrastructure。 750+模块,19000+ github stars。
sunsky
2020/08/20
2.7K0
ansible超详细使用指南
ansile(3)playbook 使用
顾名思义,playbook就是类似演戏的剧本一样,将所有的戏码全部放在一起,官方说明如下:
py3study
2020/01/15
8530
基于ansible role实现LAMP平台批量部署
前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。本文带来的是基于Ansible Role实现LAMP平台批量部署。 ansible简介 特性 No agents:不需要在被管控主机上安装任意客户端 No server:无服务器端,使用
小小科
2018/05/02
8010
基于ansible role实现LAMP平台批量部署
《Ansible自动化运维:技术与最佳实践》第三章读书笔记
本章主要通过对 Ansible 经常使用的组件进行讲解,使对 Ansible 有一个更全面的了解,主要包含以下内容:
武培轩
2019/09/24
1.1K0
相关推荐
玩转企业常见应用与服务系列(十五):Ansible palybook 原理与实践
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验