ansible roles如何安装搭建LAMP?
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章为大家分享有关ansible roles安装搭建LAMP的方法。文章涵盖ansible roles的简介和ansible roles安装搭建LAMP架构的方法,希望大家通过这篇文章能有所收获。
千家信息网最后更新 2025年01月23日ansible roles如何安装搭建LAMP?
这篇文章为大家分享有关ansible roles安装搭建LAMP的方法。文章涵盖ansible roles的简介和ansible roles安装搭建LAMP架构的方法,希望大家通过这篇文章能有所收获。
ansible roles
在实际的工作当中,一个完整的项目实际上是很多功能体的组合,如果将所有的功能写在一个playbook中会存在如代码耦合程度高、playbook长而维护成本大、灵活性低等一系列的问题。使用roles能巧妙的解决这一系列的问题。roles是ansible1.2版本后加入的新功能,适合于大项目playbook的编排架构。
ansible roles目录结构
roles能够根据层次型结构自动装载变量文件、task以及handlers等。简单来讲,roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们,roles一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中。roles/ common/ files/ templates/ tasks/ handlers/ vars/ defaults/ meta/ web/ files/ templates/ tasks/ handlers/ vars/ defaults/ meta/
roles内各目录含义解释
files:用来存放由copy模块或script模块调用的文件。templates:用来存放jinjia2模板,template模块会自动在此目录中寻找jinjia2模板文件。tasks:此目录应当包含一个main.yml文件,用于定义此角色的任务列表,此文件可以使用include包含其它的位于此目录的task文件。handlers:此目录应当包含一个main.yml文件,用于定义此角色中触发条件时执行的动作。vars:此目录应当包含一个main.yml文件,用于定义此角色用到的变量。defaults:此目录应当包含一个main.yml文件,用于为当前角色设定默认变量。meta:此目录应当包含一个main.yml文件,用于定义此角色的特殊设定及其依赖关系。在一个playbook中使用roles的步骤:1)创建以roles命令的目录。mkdir /etc/ansible/roles/ -p #yum装完默认就有2)创建全局变量目录。mkdir /etc/ansible/group_vars/ -ptouch /etc/ansible/group_vars/all #文件名自己定义,引用的时候注意3)在roles目录中分别创建以各角色名称命令的目录,如httpd。mkdir /etc/ansible/roles/common -p4)在每个角色命令的目录中分别创建files、handlers、tasks、templates、meta、defaults和vars目录,用不到的目录可以创建为空目录,但不可以不创建。mkdir /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta} -pmkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta} -p5)在每个角色的handlers、tasks、meta、defaults、vars目录下创建main.yml文件,千万不能自定义。touch /etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.ymltouch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml6)在playbook文件中,调用各角色。vi /etc/ansible/site.yml---- hosts: webserver remote_user: root roles: - httpd - mysql
角色管理,roles安装搭建LAMP架构
[root@localhost ~]# vim /etc/ansible/hosts
[ftpserver]
192.168.136.251#创建目录,子目录mkdir /etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta} -pmkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta} -pmkdir /etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta} -ptouch /etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.ymltouch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.ymltouch /etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml#apachej角色[root@localhost roles]# cd /etc/ansible/roles/httpd/tasks/[root@localhost tasks]# vim main.yml - name: install apache yum: pkg={{ servername }} state=latest#定义servername[root@localhost tasks]# cd ../vars/[root@localhost vars]# vim main.yml servername: httpd#mysql角色[root@localhost vars]# cd ../../mysql/tasks/[root@localhost tasks]# vim main.yml - name: install mysqld yum: pkg={{servername}} state=latest[root@localhost tasks]# vim ../vars/main.yml servername: mariadb*#php角色[root@localhost tasks]# cd ../../php/tasks/[root@localhost tasks]# vim main.yml - name: install php yum: pkg={{servername}} state=latest [root@localhost tasks]# cd ../vars/[root@localhost vars]# vim main.yml servername: php#创建总体剧本去控制这些服务[root@localhost vars]# cd /etc/ansible/[root@localhost ansible]# vim site.yml - hosts: ftpserver remote_user: root roles: - httpd - mysql - php [root@localhost ansible]# ansible-playbook site.yml PLAY [ftpserver] ***********************************************************************************TASK [Gathering Facts] *****************************************************************************ok: [192.168.136.251]TASK [httpd : install apache] **********************************************************************changed: [192.168.136.251]TASK [mysql : install mysqld] **********************************************************************changed: [192.168.136.251]TASK [php : install php] ***************************************************************************changed: [192.168.136.251]PLAY RECAP *****************************************************************************************192.168.136.251 : ok=4 changed=3 unreachable=0 failed=0
关于ansible roles安装搭建LAMP的方法就分享到这里了,希望以上内容可以对大家有一定的帮助。如果喜欢这篇文章,不如把它分享出去让更多的人看到。
目录
文件
角色
变量
模块
命令
方法
架构
篇文章
任务
功能
场景
实际
模板
结构
问题
项目
服务
便捷
巧妙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国内外临床试验研究数据库
bf4推荐服务器
北邮网络技术研究院官网
同花顺手机连接不上服务器
系统网络安全产品
鸡冠区网络安全宣传
屏利品软件开发
我的世服务器ip
威纶通打印备份服务器
可以自学计算机网络安全
数据库2010设置索引在哪儿
释厄英雄服务器等级
我的世界服务器ip大全
数据库接口在哪里查看
格力硬件网络技术支持
春考网络技术简单吗
漯河软件开发规定
数据库重启后job查不到了
摩尔庄园b站服务器
全民奇迹服务器怎么找人
武汉微盘软件开发
济南安卓智能制造软件开发
数据库数值求最大值
有实力的浪潮服务器哪家服务好
武汉大学网络安全学校新校区
厦门微达人网络技术公司
苏州中端塔式服务器
vpn怎么购买服务器
ibm邮件服务器
北邮网络安全竞赛胡啸