Herramientas de usuario

Herramientas del sitio


informatica:software:kubernetes

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:software:kubernetes [2020/11/26 09:26] tempwininformatica:software:kubernetes [2020/11/26 10:04] (actual) – [Instalación] tempwin
Línea 6: Línea 6:
  
   * [[https://kubernetes.io/|Web oficial]]   * [[https://kubernetes.io/|Web oficial]]
 +
 +===== Orquestador =====
 +
 +Un orquestador es una tecnología que permite lanzar un conjunto de contenedores en un cluster de servidores.
 +
 +Kubernetes permite:
 +
 +  * Ejecutar contenedores en varias máquinas
 +  * Service discovery: cada vez que se añaden nuevos contenedores, facilita su descubrimiento.
 +  * Balanceo de carga
 +  * Configuración de red
 +  * Escalabilidad: añadir o eliminar contenedores a demanda
 +  * Logging y monitorización
 +  * Tolerante a fallos: si algo funciona en el cluster, el orquestador recreará la máquina o contenedor para que la aplicación siempre esté disponible
 +  * Comunidad
 +
 +<WRAP center round info 60%>
 +Kubernetes se ha convertido en el estandar para ejecutar contenedores en el cloud (Amazon, Azure y Google)
 +</WRAP>
 +
 +===== Arquitectura =====
 +
 +El cluster de Kubernetes se divide en dos tipos de nodo:
 +
 +  * **Nodo Master**: ejecuta la mayor parte de la capa de control de Kubernetes
 +  * **Nodo Worker**: ejecuta los pods y contenedores de los usuarios.
 +
 +<WRAP center round info 60%>
 +En una configuración de desarrollo podríamos tener solo 1 nodo que haga de master y worker
 +</WRAP>
 +
 +{{ :informatica:software:kubernetes:kubernetes-arquitectura.png?nolink&600 |}}
 +
 +La forma de interactuar con Kubernetes es a través de ''kubectl'', que se encarga de hablar con la API REST de Kubernetes.
 +
 +''kubelet'' lanza los contenedores en los pods.
 +
 +''kube-proxy'' utiliza iptables para realizar las rutas para que los contenedores sean visibles entre los diferentes nodos del cluster.
 +
 +===== Instalación =====
 +
 +Posibilidades para instalar un cluster de Kubernetes. 
 +
 +A nivel local:
 +
 +  * **Minikube**: crea una máquina virtual donde ejecuta Kubernetes. Es la primera que salió y está soportada por el proyecto Kubernetes. Es la más compatible, pero la más pesada.
 +  * **Microk8s**: instalaciones en Linux utilizando Snap.
 +  * **k3s**: originalmente diseñado para trabajar en IoT.
 +  * **KinD** (Kubernetes in Docker): Kubernetes dentro de un contenedor. Ideal para Integración Continua.
 +  * **Docker Desktop**: igual que Minikube, crea una máquina virtual. Consume muchos recursos.
 +
 +En cuanto a instalaciones de Kubernetes en la nube:
 +
 +  * **GKE**: Google Kubernetes Engine. El que mejor funciona.
 +  * **AKS**: el de Azure (Microsoft).
 +  * **EKS**: el de Amazon.
 +  * **Digital Ocean**: centrada en desarrolladores y es la más barata.
informatica/software/kubernetes.1606379176.txt.gz · Última modificación: por tempwin