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

Próxima revisión
Revisión previa
informatica:software:kubernetes [2020/11/26 09:26] – creado tempwininformatica:software:kubernetes [2020/11/26 10:04] (actual) – [Instalación] tempwin
Línea 5: Línea 5:
 Entra dentro de lo que se conoce como **orquestadores**. Entra dentro de lo que se conoce como **orquestadores**.
  
-  * https://kubernetes.io/+  * [[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.1606379168.txt.gz · Última modificación: por tempwin