ansible 使用roles简单部署LAMP平台

这篇具有很好参考价值的文章主要介绍了ansible 使用roles简单部署LAMP平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、了解roles目录

二、基于构建LAMP平台创建roles目录

1、在192.168.115.148创建目录

2、书写php的测试页面

3、编写httpd角色的main.yml文件

4、编写mysql角色的main.yml文件

6、编写lamp的playbook

7、启动剧本

8、访问


一、了解roles目录

在Ansible中,roles是一种组织和复用任务和变量的方式。Roles是一种可重用的模块化结构,用于将相关的任务、变量和处理逻辑组合在一起,以便在不同的剧本(playbook)中重复使用。

通过使用roles,可以将复杂的任务分解成更小的、可管理的部分,并使剧本更具可读性和可维护性。Roles还可以促进代码的复用,因为可以将角色在不同的剧本中重复使用。

一个role通常由以下组成:

1. 任务(tasks):包含要执行的操作步骤。这些任务可以是与特定角色相关的任何操作,例如安装软件、配置文件、启动服务等。

2. 变量(vars):存储角色所需的变量。这些变量可以在角色的任务中使用,以根据不同的需求进行自定义。

3. 文件(files):包含角色所需的文件。这些文件可以是配置文件、脚本文件等。

4. 模板(templates):包含用于生成配置文件等的模板文件。模板文件通常包含一些可自定义的变量,以便在生成文件时根据需要进行替换。

5. 处理器(handlers):定义角色相关的处理程序,用于在特定事件发生时触发操作。例如,在配置文件更改后重新启动服务。

通过将相关的任务、变量和文件组织在一起,roles提供了一种结构化的方式来管理和组织复杂的配置和部署任务。它们使剧本更易于编写、理解和维护,并促进了在不同的剧本中重用和分享配置和部署逻辑。

roles/
├── role_name/                # role的名称
│   ├── defaults/             # 存放变量默认值的目录
│   │   └── main.yml          # 变量默认值文件
│   ├── tasks/                # 存放任务文件的目录
│   │   └── main.yml          # 任务文件
│   ├── templates/            # 存放模板文件的目录
│   │   └── template.j2       # 模板文件
│   ├── vars/                 # 存放特定角色变量的目录
│   │   └── main.yml          # 特定角色变量文件
│   ├── handlers/             # 存放处理器文件的目录
│   │   └── main.yml          # 处理器文件
│   ├── files/                # 存放文件的目录
│   │   └── file.txt          # 文件
│   ├── meta/                 # 存放描述文件的目录
│   │   └── main.yml          # 描述文件
│   └── README.md             # role的说明文件
└── playbook.yml              # 包含roles的Playbook文件

二、基于构建LAMP平台创建roles目录

实验环境:

192.168.115.148  :  安装ansible、部署LAMP

192.168.115.149  : 部署LAMP

192.168.115.151  : 部署LAMP

1、在192.168.115.148创建目录
cd /etc/ansible/roles/
mkdir -p {httpd,mysql,php}/{files,tasks,handlers,templates,vars,meta}
touch {httpd,mysql,php}/{tasks,handlers,vars,meta}/main.yml
tree
######################################################################
[root@localhost roles]# tree
.
├── http
│   ├── files
│   ├── handlers
│   ├── meta
│   ├── tasks
│   ├── templates
│   └── vars
├── mysql
│   ├── files
│   ├── handlers
│   ├── meta
│   ├── tasks
│   ├── templates
│   └── vars
└── php
    ├── files
    ├── handlers
    ├── meta
    ├── tasks
    ├── templates
    └── vars
2、书写php的测试页面
vim /etc/index.php
<?php
    phpinfo();
?>
3、编写httpd角色的main.yml文件
vim /etc/anseble/roles/http/tasks/mian/yml
---
- name: 安装httpd
  yum: name=httpd state=present
- name: 分发php测试页面
  copy: src=/index.php dest=/var/www/html/index.php
- name: 启动httpd、设为开机自启
  service: name=httpd state=started enabled=yes
  

vim /etc/ansible/roles/http/hardlers/mian.yml
---
- name: restart httpd
  shell: systemctl restart httpd
4、编写mysql角色的main.yml文件
vim /etc/ansible/roles/mysql/tasks/main.yml
---
- name: 安装mysql
  shell: yum -y install mariadb mariadb-server
- name: 启动mariadb,并设为开机自启
  service: name=mariadb state=started enabled=yes

5、编写php角色的main.yml文件

vim /etc/ansible/roles/php/tasks/main.yml
---
- name: 安装php及依赖包
  yum: name=php,php-gd,php-ldap,php-odbc,php-pear,php-xml,php-xmlrpc,php-mbstring,php-snmp,php-soap,curl,curl-devel,php-bcmath,php-mysql state=present
  notify: restart httpd


vim /etc/ansible/roles/php/hardlers/mian.yml
---
- name: restart httpd
  shell: systemctl restart httpd
6、编写lamp的playbook
vim /etc/ansible/lamp.yml
---
- hosts: group
  remote_user: root
  roles:
    - http
    - mysql
    - php
7、启动剧本

ansible-playbook /etc/ansible/lapm.yml

执行结果ansible 使用roles简单部署LAMP平台,ansibleansible 使用roles简单部署LAMP平台,ansibleansible 使用roles简单部署LAMP平台,ansible

8、访问

ansible 使用roles简单部署LAMP平台,ansibleansible 使用roles简单部署LAMP平台,ansibleansible 使用roles简单部署LAMP平台,ansible文章来源地址https://www.toymoban.com/news/detail-703256.html

到了这里,关于ansible 使用roles简单部署LAMP平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Ansible上通过roles简化playbook演示介绍

    目录 一.roles介绍 1.作用 2.role的目录结构 3.role和tasks的执行优先级顺序 二.自定义一个httpd的角色 1.完整目录结构展示 2.主要的各个目录配置 (1)vars目录和templates目录 (2)tasks目录和handlers目录 (3)运行playbook测试 三.ansible galaxy安装roles 1.在线网站 2.配置roles_path 3.ansible-ga

    2024年02月08日
    浏览(35)
  • ansible-playbook roles编写lnmp剧本

    目录 集中式编写lnmp剧本 执行 分布式编写lnmp剧本 一定要设置ssh免交互  nginx mysql php  执行

    2024年02月14日
    浏览(40)
  • 红帽8.5 ansible 安装和部署 |(简单版)

            Ansible是一款基于OpenSSH开源的自动化运维工具,可以用它来配置系统、部署软件和编排更高级的 IT 任务,并且使用具有极高的安全性,ansible是当前市面上主流的自动化运维工具之一         比较直观的说,当你管理10台服务器安装系统的时候,没有使用ansibl

    2024年02月13日
    浏览(35)
  • Ansible单yaml文件部署Zabbix5.0监控平台

    IP 主机名 节点 192.168.200.10 ansible Ansible节点 192.168.200.20 zabbix-server Zabbix-server节点 192.168.200.30 zabbix-agent Agent 节点 使用Ansible部署一个zabbix监控平台并监控192.168.200.30主机 基础环境准备 (1)修改主机名 (2)安装ansible (3)配置Ansible节点和远程主机的连接 (4)配置主机组 (5)测试连通性 编

    2024年02月15日
    浏览(35)
  • 07_ansible, 条件选择、加载客户事件、在roles和includes上面应用’when’语句、条件导入、基于变量选择文件和模版、注册变量

    10.条件选择 10.1.When语句 10.2.加载客户事件 10.3.在roles和includes上面应用’when’语句 10.4.条件导入 10.5.基于变量选择文件和模版 10.6.注册变量 转自:http://www.ansible.com.cn/docs/playbooks_conditionals.html#id3 常常来说,一个play的结果经常取决于一个变量的值,事件(从远端系统得到事件)

    2024年02月13日
    浏览(43)
  • Ansible的安装及简单使用

    ## Ansible的安装及简单使用 ## 一.Ubuntu安装Ansible 二.配置Ansible ansible.cfg #ansible配置文件,默认基本不用动,全注释 hosts #主机清单文件,存放被控端主机信息, 默认指定的hosts文件 修改ansible配置 把第七十一行的配置,取消注释。这一行的作用是当 Ansible 连接到新创建的虚拟机时

    2024年02月12日
    浏览(27)
  • ansible入门指南 - 安装与简单使用

    ansible 是用来自动化管理远程操作系统的工具. ansible的三要素: 控制节点 , 被控节点 , 资产清单 ansible 可以通过pip直接安装 创建inventory文件, 把需要管理的机器登记在该文件中, 此处假装有两台被控机器, 划分在group1组中 配置免密登录主机, 根据提示输入密码 检查inventory的所有

    2024年02月12日
    浏览(56)
  • ansible的安装和简单的块使用

    目录 一、概述 二、安装 1、选择源 2、安装ansible 3、模块查看 三、实验 1、拓扑​编辑 2、设置组、ping模块 3、hostname模块 4、file模块 ​编辑 5、stat模块 6、copy模块(本地拷贝到远程) 7、fetch模块与copy模块类似,但作用相反。用于把远程机器的文件拷贝到本地。 8、user模块

    2024年02月09日
    浏览(31)
  • 使用ansible自动化部署Kubernetes

    使用 kubeasz 部署 Kubernetes 集群 服务器列表: IP 主机名 角色 192.168.100.142 kube-master1,kube-master1.suosuoli.cn K8s 集群主节点 1 192.168.100.144 kube-master2,kube-master2.suosuoli.cn K8s 集群主节点 2 192.168.100.146 kube-master3,kube-master3.suosuoli.cn K8s 集群主节点 3 192.168.100.160 node1,node1.suosuoli.cn K8s 集群工作

    2024年02月11日
    浏览(42)
  • 如何构建LAMP平台:Apache,MySQL,PHP

    Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。 (1)支持源代码开发,跨平台应用。(兼容性号,多系统支持:linux,windows,MAC,os)

    2024年02月10日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包