• 13.Ansible.roles案例


    在这里插入图片描述

    基础环境准备

    定义变量,在文件中写好,后期将要调用的变量
    mkdir /roles/vars/
    touch /roles/vars/all

    在这里插入图片描述

    准备目录结构
    mkdir base/{tasks,handlers,templates} -p

    准备搭建基础环境时要执行的任务yml文件
    vim base/tasks/main.yml
    在这里插入图片描述
    编写playbook调用roles
    vim site.yml
    在这里插入图片描述



    应用服务准备

    准备安装、配置、启动nginx,所执行的任务

    vim nginx/tasks/main.yml
    在这里插入图片描述

    编写playbook调用roles

    vim site.yml
    在这里插入图片描述

    执行playbook

    ansible-playbook site.yml


    安装配置启动php

    创建目录结构
    mkdir php-fpm/{tasks,handlers,templates} -p

    先获取需要安装的PHP 的包名称
    在这里插入图片描述

    编写需要执行的tasks任务
    vim php-fpm/tasks/main.yml
    在这里插入图片描述
    在这里插入图片描述

    编写notify要调用的handlers文件
    vim php-fpm/handlers/main.yml

    在这里插入图片描述

    准备模版文件
    在这里插入图片描述
    修改php.ini.j2配置文件
    调用之前定义的redis的变量
    在这里插入图片描述

    过滤出www.conf.j2有效的配置文件
    egrep -v "^;|^$" www.conf.j2

    修改www.conf.j2配置文件,调用之前定义的变量

    在这里插入图片描述
    编写playbook调用roles
    vim site.yml

    在这里插入图片描述

    执行playbook

    ansible-playbook site.yml


    安装配置启动redis

    创建目录结构
    mkdir redis/{tasks,handlers,templates} -p

    编写需要执行的任务
    vim redis/tasks/main.yml

    在这里插入图片描述

    编写notify要调用的handlers文件

    vim redis/handlers/main.yml

    在这里插入图片描述

    准备redis配置文件,前提是有装好的redis可以提供配置文件
    在这里插入图片描述

    修改配置文件,redis在哪台机器上,就写哪台机器的IP,这里调用被控端本地的变量,IP地址

    在这里插入图片描述
    编写playbook调用roles

    在这里插入图片描述

    执行playbook
    在这里插入图片描述


    业务引入

    创建目录结构
    在这里插入图片描述

    先配置依赖关系,业务运行,需要nginx与php,所以得让他俩先运行起来,再来执行业务角色本身
    在这里插入图片描述

    因为有了依赖关系,所以playbook直接调用kodcloud-web这个角色就行,他会把nginx和php先运行起来

    在这里插入图片描述

    编写部署业务,要执行的任务

    unarchive 是解压模块,会自动将代码的压缩包解压到目标路径下

    在这里插入图片描述

    准备nginx配置文件,模版文件
    在这里插入图片描述

    准备代码

    将下载好的代码压缩包上传到ansible服务器

    因为有了依赖关系,所以playbook直接调用kodcloud-web这个角色就行,他会把nginx和php先运行起来
    在这里插入图片描述

    执行playbook
    在这里插入图片描述

    调用kodcloud-web这个角色,执行会按照我们设定的步骤,先把基础服务运行起来,再起kodcloud

    在这里插入图片描述

    此时两个业务节点就都可以运行起来了

    配置文件中调用之前定义的变量
    在这里插入图片描述


    配置负载均衡,再接入https

    创建目录结构
    在这里插入图片描述

    编写依赖文件

    proxy依赖nginx,所以这里编写依赖的yml文件,加入nginx角色

    在这里插入图片描述

    编写要在被控端执行的任务

    记得在控制端将SSL证书放到ssl_key目录下
    在这里插入图片描述

    编写notify需要调用的handlers

    在这里插入图片描述

    准备nginx虚拟机的配置文件

    配置负载均衡

    在这里插入图片描述

    完事记得做域名解析

    编写playbook调用proxy角色

    在这里插入图片描述

    执行playbook

    在这里插入图片描述

    到此结束

  • 相关阅读:
    通过求解数学模型来选择编码节点的最佳数量和位置(Matlab代码实现)
    jenkins pipeline使用
    Go学习需要了解知识
    3、【Xilinx下载器】【ILA】使用ILA调试时出错的解决方案
    搜索二维矩阵 II
    Python学习基础笔记七十九——Socket编程2
    webpack 静态资源文件加载(assets)
    【leetcode C++】最小栈
    QT+OSG/osgEarth编译之三十一:SpatialIndex+Qt编译(一套代码、一套框架,跨平台编译,版本:SpatialIndex-1.9.3)
    R语言使用is.vector函数判断数据对象是否是向量数据类型vector
  • 原文地址:https://blog.csdn.net/Wangjiachenga/article/details/127111842