Desplegando una aplicación en Kubernetes
Un escenario común cuando desplegamos una aplicación web puede ser el siguiente:
En este escenario tenemos los siguientes elementos:
- Un conjunto de máquinas (normalmente virtuales) que sirven la aplicación web (frontend).
- Un balanceador de carga externo que reparte el tráfico entre las diferentes máquinas.
- Un número de servidores de bases de datos (backend).
- Un balanceador de carga interno que reparte el acceso a las bases de datos.
El escenario anterior se podría montar en Kubernetes de la siguiente forma:
Los distintos recursos de Kubernetes nos proporcionan distintas características muy deseadas:
Pods
: La unidad mínima de computación en Kubernetes, permite ejecutar contenedores. Representa un conjunto de contenedores y almacenamiento compartido que comparte una única IP.ReplicaSet
: Recurso de un cluster Kubernetes que asegura que siempre se ejecute un número de replicas de un pod determinado. Nos proporciona las siguientes características:- Que no haya caída del servicio
- Tolerancia a errores
- Escabilidad dinámica
Deployment
: Recurso del cluster Kubernetes que nos permite manejar losReplicaSets
. Nos proporciona las siguientes características:- Actualizaciones continúas
- Despliegues automáticos
Service
: Nos permite el acceso a los pod.Ingress
: Nos permite implementar un proxy inverso para el acceso a los distintos servicios establecidos. Estos dos elementos nos proporcionan la siguiente funcionalidad:- Balanceo de carga
- Otros recursos de un cluster Kubernetes nos pueden proporcional características adicionales:
- Migraciones sencillas
- Monitorización
- Control de acceso basada en Roles
- Integración y despliegue continuo
En las siguientes entradas vamos a ir estudiando cada uno de estos recursos.
Índice de entradas sobre Kubernetes
Este artículo corresponde a una serie de entradas donde he hablado sobre Kubernetes:
- Instalación de kubernetes con kubeadm
- Desplegando una aplicación en Kubernetes
- Recursos de Kubernetes: Pods
- Recursos de Kubernetes: ReplicaSet
- Recursos de Kubernetes: Deployment
- Kubernetes: Desplegando la aplicación Mediawiki
- Kubernetes: Desplegando la aplicación GuestBook (Parte 1)
- Recursos de Kubernetes: Services
- El servicio DNS en Kubernetes
- Kubernetes: Desplegando la aplicación GuestBook (Parte 2)
- Kubernetes: Desplegando la aplicación LetsChat
- Recursos de Kubernetes: Ingress
- Accediendo a nuestras aplicaciones Kubernetes con Ingress
- Recursos de Kubernetes: Namespaces
- Kubernetes. Configurando nuestras aplicaciones: variables de entornos, ConfigMap, Secrets
- Kubernetes. Desplegando WordPress con MariaDB
- Almacenamiento en Kubernetes. PersistentVolumen. PersistentVolumenClaims
- Kubernetes. Desplegando WordPress con MariaDB con almacenamiento persistente
- Integración de Kubernetes con OpenStack
Leave a Comment
Your email address will not be published. Required fields are marked *