meta data de esta página
Kubernetes
Kubernetes lo podemos definir como un orquestador de contenedores (container). Es decir nos va a permitir gestionar contenedores en una o varias máquinas.
Un container contiene exclusivamente los servicios necesarios para que la aplicación que se empaqueta pueda correr sin ningún problema y se pueda replicar de acuerdo a nuestras necesidades.
Alguna de las ventajas de usar kubernetes son:
- Escalabilidad
- Tolerancia a fallos
- Balanceo de carga
- Gestión de Volúmenes
Conceptos
Componentes de Kubernetes
Estructura física
- Nodos
- Master.
Estructura Lógica
- POD → Un Pod es el objeto más pequeño y la unidad básica desplegable en Kubernetes. Un pod tiene la función de encapsular uno o varios container
- Volumes
- Namespace
- Label/LabelSelector
- Controladores
Controladores en Kubernetes
- ReplicationController
- ReplicaSet
- Deployments
- DaemonSet
- StatefulSet
- Jobs
- CronJobs
ReplicatoinController
- Garantiza la ejecución de un número determinado de POD’s.
- Similar a un supervisor.
- Sobrevive a disrupción.
ReplicaSet
- Similar al ReplicationController
- Admite labelSet.
- No se recomienda.
- Se puede usar en HPA.
Deployments
- Proporciona actualizaciones declarativas para POD’s y ReplicaSets.
- Permite crear/eliminar conjuntos de réplicas
- No se debe administrar ReplicaSets de un Deployment, todos los casos de uso deben ser cubiertos manipulando el Deployment
DaemonSet
- Garantiza un POD en cada nodo.
- Garbage collector.
- Eliminar un DaemonSet eliminará los PODs creados.
- En un DaemonSet no se definen ReplicaSets ya que automáticamente va a desplegarlo en cada nodo de nuestro cluster.
- El DaemonSet se usa mucha para desplegar pods de monitorización en cada nodo de un cluster
StatefulSet
- Administra aplicaciones con estado.
- Proporciona garantías sobre el orden y la exclusividad de los PODs.
- A diferencia de un Deployment, mantiene una identidad adhesiva para cada POD.
Jobs
- Asegura que X POD acaben correctamente.
- Permite ejecutar modulos en paralelo.
- Hasta no tener un % de éxito no se considera acabado el Job.
CronJobs
- Ejecuta jobs en el tiempo.
- Una vez en el tiempo / repetidamente una vez en el tiempo.
- Se escribe en formato cron.