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.
LeerCreación de Deployments en kubernetes
Para crear un despliegue o deployment en Kubernetes se define el recurso en un fichero yaml.
LeerCreación de pods en kubernetes
Los pods en Kubernetes se pueden crear a partir de una declaración del recursos en un fichero yaml.
LeerCreació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)
LeerCreación de Replica Sets en kubernetes
Para crear un ReplicaSet, en primer lugar, se declara el recurso en un fichero yaml.
LeerCreación de Services en kubernetes
Los servicios en Kubernetes permiten a otros pods o al usuario acceder al servicio que ofrece otro pod.
LeerDespliegue 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.
LeerDespliegue 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)
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.
LeerDespliegue 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.
LeerDespliegue de una aplicación PHP en Kubernetes
En este post se documenta el despliegue de la aplicación Let`s Chat en Kubernetes.
LeerDespliegue 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.
LeerDespliegue 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.
LeerInstalación de Jenkins usando Docker como runner
En primer lugar, en un equipo con Docker instalado instalamos también Jenkins.
LeerInstalació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.
LeerInstalació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.
LeerTest 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.
LeerAlmacenamiento 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
LeerComandos 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
LeerCreació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.
LeerImplantació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
LeerImplantació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
LeerInstalació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
LeerDespliegue 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.
LeerImplantació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