Ansible学习笔记(二)

这篇具有很好参考价值的文章主要介绍了Ansible学习笔记(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3.ansible的使用示例(playbook)

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

---

#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.安装httpd 的playbook


- hosts: webserver
  remote_user: root
  gather_facts: no
  # 取消收集设备信息

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

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

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

3.安装nginx的playbook

---

#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

4. playbook的语法检查

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

ansible-playbook -C install_httpd.yml

Ansible学习笔记(二),ansible,学习

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实战一 httpd的安装

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

Ansible学习笔记(二),ansible,学习

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

Ansible学习笔记(二),ansible,学习

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

Ansible学习笔记(二),ansible,学习

5.ansible中的ansible-galaxy

​ 官方地址:https://galaxy.ansible.com/

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

roles相关:

Ansible学习笔记(二),ansible,学习

Ansible学习笔记(二),ansible,学习
我的博客有分享更多好玩的计算机知识,欢迎访问 vwo50博客站 .文章来源地址https://www.toymoban.com/news/detail-668688.html

到了这里,关于Ansible学习笔记(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ansible学习笔记10

    1、在group1的被管理机里的mariadb里创建一个abc库; 1)     然后我们到agent主机上进行检查: 可以看到数据库已经创建成功。 再看几个其他命令: script模块: script模块用于在远程主机上执行本地脚本。 脚本在master上,但是可以在agent服务器上执行。 说明:上面这个创建数据

    2024年02月10日
    浏览(19)
  • Ansible学习笔记14

    实现多台的分离实现: 剧本执行情况:  在105的机器上创建了test1目录。 在106的机器上创建了test2目录。 搭建nfs系统,并在另外一台机器上进行挂载操作。 检查已经挂在成功:

    2024年02月10日
    浏览(25)
  • Ansible学习笔记4

    file模块: file模块用于对文件相关的操作(创建、删除、属性修改、软链接等)touch是创建。 创建目录,并更改权限:directory: 删除文件:absent absent:没有、缺席、缺乏的意思。 删除目录: absent:目录将会递归被删除。文件和软链接将会unlinked。 创建软链接: 我们看到软

    2024年02月10日
    浏览(25)
  • Ansible学习笔记11

    Command和Shell模块: 两个模块都是用于执行Linux命令的,这个对于命令熟悉的工程师来说,用起来非常high。 Shell模块跟Command模块差不多(Command模块不能执行一类$HOME、 、、| 等符号,但是Shell是可以的。) 示例一: 检查结果: 删除用户: 检查结果: 示例二: 示例三: 说明

    2024年02月10日
    浏览(26)
  • Ansible学习笔记2

    Ansible是Python开发的自动化运维工具,集合了众多运维工具(Puppet、cfengine、chef、func、fabric)的优点, 实现了批量系统配置,批量程序部署、批量运行命令等功能。 特点: 1)部署简单; 2)默认使用ssh进行管理,基于Python里的paramiko模块开发; 3)管理端和被管理端不需要启

    2024年02月11日
    浏览(24)
  • Ansible学习笔记(一)

    官方网站:https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置好的任务,服务器上不用安装任何多余的软件,只需要开启ssh,

    2024年02月11日
    浏览(19)
  • Ansible学习笔记(持续更新)

    1.1.1 Dev开发环境 使用者:程序员 功能:程序员开发测试软件 管理者:程序员 1.1.2 测试环境 使用者:QA测试工程师(quality assurance) 功能:测试经过Dev环境测试通过的软件功能 管理者:运维 1.1.3 发布环境 使用者:运维 功能:发布代码至生产环境 管理者:运维 发布机:往往

    2024年02月11日
    浏览(31)
  • 自动化运维工具——Ansible学习(二)

    目录 一、handlers和notify结合使用触发条件 1.新建httpd.yml文件 2.复制配置文件到ansible的files目录中 3.卸载被控机已安装的httpd 4.执行httpd.yml脚本 5.更改httpd.conf配置文件 6.使用handlers 7.重新执行httpd.yml脚本 8.检查被控机的端口号是否改变 9.handlers也可以触发多个 二、tags 1.通过指定

    2024年02月16日
    浏览(40)
  • Ansible自动化运维学习——综合练习

    目录 (一)练习一 1.新建一个role——app 2.创建文件 3.删除之前安装的httpd服务和apache用户  4.准备tasks任务 (1)创建组group.yml (2)创建用户user.yml (3)安装程序yum.yml (4)修改模板httpd.conf.j2 (5)编写templ.yml (6)编写start.yml (7)编写copyfile.yml (8)定义顺序main.yml  5.准备变量文件vars (1)编写变量脚

    2024年02月15日
    浏览(98)
  • Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】

    预备条件: ctr crictl $ nerdctl containerd install 了解 kubespray 是什么 kubespray 包含 ansible、ansible-playbook命令以及通过kubespray项目安装kubernetes集群的介质。 编排 inventory.ini

    2024年01月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包