Docker

Construcción de una imagen Docker en un pipeline de Jenkins

Para crear una imagen Docker desde un pipeline de Jenkins es necesario conectar este servicio a la cuenta de DockerHub a la que debe subir la imagen. Para ello, en el menú Administrar Jenkins -> Credenciales -> Global -> Add Credentials se crea una nueva credencial de tipo nombre de usuario y contraseña.

Leer

Creación de Deployments en kubernetes

Para crear un despliegue o deployment en Kubernetes se define el recurso en un fichero yaml.

Leer

Creación de pods en kubernetes

Los pods en Kubernetes se pueden crear a partir de una declaración del recursos en un fichero yaml.

Leer

Creación de recursos de tipo Ingress en kubernetes

Para acceder a una aplicación usando una URL es necesario configurar un recurso de tipo ingress. En este caso, se parte de [este despliegue previo](Creación de Servicios)

Leer

Creación de Replica Sets en kubernetes

Para crear un ReplicaSet, en primer lugar, se declara el recurso en un fichero yaml.

Leer

Creación de Services en kubernetes

Los servicios en Kubernetes permiten a otros pods o al usuario acceder al servicio que ofrece otro pod.

Leer

Despliegue de aplicaciones usando variables de entorno en Kubernetes

Para usar variables de entorno en el despliegue de aplicaciones en Kubernetes se usan recursos como los ConfigMap o los Secrets.

Leer

Despliegue de un servidor web con contenido persistente en Kubernetes

Para desplegar un servidor o aplicación web que sea persistente, es necesario usar volúmenes en Kubernetes. Para crear un volumen, es necesario contar con un storageClass definido en el cluster. En este caso, como el cluster se ha creado usando Minikube, incluye, por defecto un storageClass estándar de tipo hostpath, que creará los volúmenes que se soliciten al crear un recurso de tipo PersistentVolumeClaim (PVC)

Leer

Despliegue de una aplicación con contenido persistente en Kubernetes

Para hacer persistente el contenido de una aplicación a los cambios de versiones en despliegues en Kubernetes hay que tener en cuenta dónde la aplicación almacena los datos. En este sentido, una aplicación puede almacenar los datos en el propio sistema donde se ejecuta o en una base de datos externa. Según esta configuración de la propia aplicación, el despliegue se hará de una de las formas que se recogen en este post.

Leer

Despliegue de una aplicación en Kubernetes usando Helm

Helm es una herramienta que permite instalar aplicaciones en un cluster de Kubernetes de forma sencilla en pocos pasos.

Leer

Despliegue de una aplicación PHP en Kubernetes

En este post se documenta el despliegue de la aplicación Let`s Chat en Kubernetes.

Leer

Despliegue de una aplicación Python en Kubernetes

Para desplegar una aplicación escrita en Python en Kubernetes se usan los ficheros yaml que definen los diferentes recursos necesarios para el despliegue.

Leer

Despliegue de una aplicación usando Jenkins

Jenkins cuenta con varios plugins que permiten ejecutar comandos en un servidor remoto usando el protocolo SSH. Esto permite incluir una etapa de despliegue en el pipeline en la que, después de probar la aplicación, crear la imagen Docker y subirla a un registro de imágenes, se puede descargar la imagen en el servidor en producción y desplegar la aplicación en él.

Leer

Instalación de Jenkins usando Docker como runner

En primer lugar, en un equipo con Docker instalado instalamos también Jenkins.

Leer

Instalación de kind y creación de un cluster de kubernetes

Kind es una alternativa para instalar un cluster de Kubernetes que ejecuta sus diferentes nodos en contenedores docker.

Leer

Instalación de minikube

Minikube es una distribución minimalista de Kubernetes ideal para aprender a usar este orquestador, que instala una distribución de k8s en un único nodo, en este caso, en una máquina virtual usando libvirt y KVM. Para instalar minikube, en primer lugar, se descarga el binario desde el repositorio de Google en el que está publicado.

Leer

Test para la integración continua de una aplicación django

A partir de la aplicación django_tutorial escrita en Python usando Django se configura un pipeline en Jenkins que ejecute de forma automática los test sobre la aplicación.

Leer

Almacenamiento en Docker

En este post se resume el funcionamiento de los dos principales métodos de almacenamiento en Docker: los volúmenes y los bind mount

Leer

Comandos básicos en Docker

En este post se muestran algunos de los comandos básicos para la creación y gestión de contenedores usando Docker

Leer

Creación de un escenario con varios contenedores con docker compose

Para implantar una aplicación nextcloud en un contenedor docker conectada a otro contenedor con una base de datos MariaDB se puede usar un fichero docker compose para configurar el escenario.

Leer

Implantación de aplicaciones web PHP en Docker

Para implantar una aplicación PHP en Docker se genera un entorno LAMP usando varios contenedores a través de un fichero docker-compose como se muestra en este post

Leer

Implantación de aplicaciones web Python en Docker

Para implantar una aplicación Python en Docker se genera un entorno LAMP usando varios contenedores a través de un fichero docker-compose como se muestra en este post

Leer

Instalación de Docker

Existen dos opciones para instalar Docker en Debian: usando la distribución de Docker Community Edition o usando los repositorios oficiales de Debian. En este post se muestra un ejemplo de cada caso

Leer

Despliegue de Roundcube usando Docker

Para conectarse a un servidor de correo propio se puede usar un cliente de escritorio o, en este caso, un webmail. En este ejemplo se usa el cliente de correo web se puede desplegar usando Docker. En este caso, se usa la imagen de la aplicación web de correo roundcube.

Leer

Implantación de una aplicación Java usando Docker

Para implantar una aplicación Java usando Docker se puede compilar una aplicación desde el código fuente o usar un fichero ya compilado. Además, se puede implantar una aplicación en un contenedor tomcat o crear una imagen Docker propia a partir de una imagen Tomcat con las modificaciones necesarias para servir la aplicación.

Leer