Introducción

Laravel es actualmente uno de los frameworks de aplicaciones PHP de código abierto más populares. Generalmente, se implementa con una base de datos de MySQL, pero puede configurarse para utilizar una variedad de opciones de almacenamiento de datos backend. Laravel se enorgullece de aprovechar muchas de las características modernas y el vasto ecosistema de paquetes de PHP.

Kubernetes es una plataforma de orquestación de contenedores que puede alojarse en los clústeres de Kubernetes de DigitalOcean para que se encargue de una gran parte del trabajo administrativo de configuración y ejecución de contenedores en producción. Helm es un administrador de paquetes de Kubernetes que facilita la configuración e instalación de servicios y pods en Kubernetes.

En esta guía, creará una aplicación PHP de Laravel, compilará la aplicación en una imagen de Docker e implementará esa imagen en un clúster de Kubernetes de DigitalOcean utilizando el chart de Helm de LAMP. A continuación, configurará un controlador Ingress para agregar SSL y un nombre de dominio personalizado a la aplicación. Al finalizar, tendrá una aplicación de Laravel funcional conectada a una base de datos que se ejecuta en un clúster de Kubernetes.

Requisitos previos

Paso 1: Crear una nueva aplicación Laravel

En este paso, utilizará Docker para crear una nueva aplicación Laravel 7, pero debería poder realizar el mismo procedimiento con una aplicación Laravel existente que utilice MySQL como copia de seguridad de la base de datos. La nueva aplicación que compile verificará que Laravel esté conectada a la base de datos y mostrará el nombre de la base de datos.

Primero, vaya al directorio de inicio y, luego, utilice un contenedor de Docker composer para crear una nueva aplicación Laravel:

cd ~
docker run --rm -v $(pwd):/app composer create-project --prefer-dist laravel/laravel laravel-kubernetes

Una vez que esté listo el contenedor y que se hayan instalado todos los paquetes de Composer, debería ver una nueva instalación de Laravel denominada laravel-kubernetes/ en el directorio actual. Diríjase a esa carpeta:

cd ~/laravel-kubernetes

A partir de aquí, ejecutará el resto de los comandos de este tutorial.

El objetivo de esta aplicación es probar la conexión de la base de datos y mostrar su nombre en el navegador. Para probar la conexión de la base de datos, abra el archivo ./resources/views/welcome.blade.php en un editor de texto:

nano ./resources/views/welcome.blade.php

Busque la sección <div class="links">...</div> y sustituya el contenido por lo siguiente:

./resources/views/welcome.blade.php

...
<div class="links">
   <strong>Database Connected: </strong>
    @php
        try {
            DB::connection()->getPDO();
            echo DB::connection()->getDatabaseName();
            } catch (\Exception $e) {
            echo 'None';
        }
    @endphp
</div>
...

Guarde y cierre el archivo.

Ese es todo el proceso de personalización que deberá realizar en la aplicación predeterminada Laravel para este tutorial. Una vez que haya terminado, este breve fragmento de PHP probará la conexión de la base de datos y mostrará el nombre de dicha base de datos en la pantalla de presentación de Laravel en el navegador web.

En el siguiente paso, utilizará Docker para compilar una imagen que contenga esta aplicación de Laravel y Docker Compose para probar que se ejecuta de manera local y que se conecta a una base de datos de MySQL.

#mysql #helm #laravel

Cómo implementar Laravel 7 y MySQL en Kubernetes con Helm
1.45 GEEK