Introducción a Kubernetes

Kubernetes es un orquestador de contenedores de aplicación escrito en Go y con licencia Apache-2.0, fue lanzado el 21 de julio de 2015 por Google que rápidamente se alió con la Linux Foundation para crear la Cloud Native Computing Foundation (CNCF) y dejó el proyecto en sus manos.

Gestionamos un cluster:

kubectl get nodes
NAME     STATUS   ROLES    AGE     VERSION
nodo-1   Ready    master   2m32s   v1.12.2
nodo-2   Ready    <none>   42s     v1.12.2
nodo-3   Ready    <none>   42s     v1.12.2

Recursos de Kubernetes

recursos

  • Pods: La unidad mínima de computación, permite ejecutar contenedores. Representa un conjunto de contenedores y almacenamiento compartido que comparte una única IP.
  • ReplicaSet: Asegura que siempre se ejecute un número de réplicas de un pod determinado. Nos proporciona las siguientes características:
    • Que no haya caída del servicio
    • Tolerancia a errores
    • Escalabilidad dinámica
  • Deployment: Nos permite manejar los ReplicaSets. Nos proporciona las siguientes características:
    • Actualizaciones continuas
    • 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