Kubernetes (k8s): Un sistema de orquestación de contenedores de código abierto de Google.
Origen del nombre: Kubernetes tiene una palabra larga y las 8 letras del medio generalmente se omiten, lo que se conoce como k8s.
Está ubicado entre los servicios de aplicaciones y los servidores, coordinando y administrando múltiples servicios de aplicaciones a través de políticas.
A través de la configuración de archivos YAML, se realizan la implementación automática, el reinicio automático y la expansión y contracción automática de las aplicaciones.
Arquitectura de Kubernetes
Plano de control: Equivalente al cerebro del cluster, responsable de gestionar y controlar los nodos de trabajo.
Los componentes incluyen:
Servidor API: Proporciona una interfaz API para operar recursos de servicio.
Programador: Responsable de las decisiones de programación de recursos.
Administrador del controlador: Responsable de la creación y cierre de servicios de aplicaciones.
etc.: Como capa de almacenamiento, guarda el estado y los datos del clúster.
Nodo de trabajo (Nodo): Equivalente a las manos y los pies del clúster, responsable de ejecutar tareas y ejecutar servicios de aplicaciones.
Los componentes incluyen:
Vaina: La instancia en ejecución del contenedor, la unidad de programación más pequeña en k8s.
Kubelet: Responsable de la gestión del ciclo de vida de Pod.
Tiempo de ejecución del contenedor: Responsable de la gestión del ciclo de vida de contenedores, como Docker.
Proxy de Kube: Responsable del proxy de red del Nodo y del reenvío de solicitudes.
Conceptos básicos de Kubernetes
Grupo: consta de un plano de control y varios nodos trabajadores.
Imagen del contenedor: archivos empaquetados que contienen código de aplicación y entornos dependientes.
Envase: La unidad en ejecución del servicio de aplicación.
Vaina: una colección de uno o más contenedores que comparten recursos de red y almacenamiento.
Herramientas operativas de Kubernetes
kubectl: La herramienta de línea de comandos proporcionada por k8s se utiliza para interactuar con la API de k8s y simplificar la implementación y administración del servicio.
Proceso de implementación y llamada del servicio.
Servicio de implementación: implemente servicios escribiendo archivos YAML y ejecutando comandos kubectl.
llamada de servicio: Las solicitudes externas ingresan al clúster a través del controlador de Ingress y Kube Proxy las reenvía al Pod correspondiente.
Ventajas de Kubernetes
Automatice la implementación, el reinicio y el escalado.
Simplifique la implementación de servicios y los procesos de operación y mantenimiento.
Apoyar la gestión de servicios de contenedores de gran escala.
Resumir
k8s es una potente herramienta de orquestación de contenedores que realiza la gestión y programación automatizadas de servicios de aplicaciones a través del trabajo colaborativo del plano de control y los nodos trabajadores.
El plano de control es responsable de la toma de decisiones y la emisión de instrucciones, y los nodos trabajadores son responsables de ejecutar tareas y ejecutar aplicaciones.
A través de la herramienta kubectl, los usuarios pueden interactuar fácilmente con la API k8s para lograr una rápida implementación y administración de servicios.