meta data de esta página
  •  

¡Esta es una revisión vieja del documento!


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
  • 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.

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.