GNU/Linux >> Tutoriales Linux >  >> Linux

Una guía para administradores de sistemas sobre los componentes básicos de Kubernetes

Un clúster general de Kubernetes (también escrito como K8) consta de un plano de control nodos y al menos un nodo trabajador .

Este tutorial lo guía a través de la arquitectura de Kubernetes y los componentes del plano de control y del nodo de trabajo. Explica la arquitectura y características como api-server , programador , etc. y administrador de control . En los nodos trabajadores, cubrimos detalles sobre kubectl , kubelet y proxy kube .

Arquitectura de Kubernetes

Imagen de kubernetes.io

En el diagrama anterior, podemos ver que el plano de control toma algunas decisiones globales, como la programación, y mantiene los detalles del clúster en un almacén de datos (etcd). También responde a los eventos del clúster, incluido el mantenimiento de las réplicas como se menciona en las implementaciones.

Componentes del plano de control

Entonces, ¿qué es un plano de control de Kubernetes?
En palabras simples y llanas, el plano de control es un tomador de decisiones global para el clúster, lo que significa que controla la programación. También es responsable de mantener el comportamiento general del clúster. Las aplicaciones en contenedores se programan en los nodos trabajadores en función de la memoria asignada por implementación. También responde a los eventos del clúster. Por ejemplo, el plano de control inicia/finaliza nuevos pods cuando no se cumplen los valores del conjunto de réplicas. Podemos decir que el plano de control de Kubernetes es el cerebro del clúster que toma decisiones lógicas.

[A los lectores también les gustó: Convertir una implementación de Kubernetes en un servicio de Knative]

El plano de control tiene los siguientes componentes:

Servidor API (también conocido como kube-apiserver)

El servidor API es la interfaz de Kubernetes que expone la API de Kubernetes. También valida y configura datos para los objetos de API, incluidos pods, servicios, implementaciones, controladores de replicación y otros. El servidor API da servicio a las operaciones REST y proporciona la interfaz para el estado compartido del clúster a través del cual interactúan todos los demás componentes.

etcd (almacén de datos)

El almacén de datos etcd es el backend de Kubernetes, que contiene la información del clúster en pares clave-valor. En Kubernetes, existe un concepto de estado deseado y estado actual . Kubernetes usa etcd para monitorear estos dos estados. Si divergen, Kubernetes realiza cambios para conciliar el estado real y el estado deseado. Esto se supervisa utilizando el almacén de datos distribuidos etcd.

planificador de Kube

El kube-scheduler es un componente del plano de control que asigna principalmente los pods no programados al nodo relevante en función de su uso de memoria. El uso de la memoria y las restricciones de hardware/software se tienen en cuenta al configurar un nodo para determinados factores de la aplicación, como las políticas de red.

administrador de control de Kube

El kube-control-manager es un componente del plano de control que ejecuta el proceso de control. En general, un proceso de control es un ciclo que se enfoca en hacer que el estado deseado sea igual al estado actual para cualquier aplicación en cualquier instancia de tiempo.

Componentes del nodo trabajador

¿Qué es un nodo trabajador?
Un nodo trabajador ejecuta las aplicaciones en contenedores e informa continuamente al servidor de API del plano de control. sobre su salud.

Tiene los siguientes componentes:

kubelet

El kubelet es un agente que se ejecuta en cada nodo en un clúster de Kubernetes, lo que garantiza que los contenedores dentro de los pods estén funcionando y en buen estado. Habla continuamente con la API de Kubernetes para transmitir la información de salud de los pods.

proxy-kube

El kube-proxy es un proxy de red que se ejecuta en cada nodo de un clúster de Kubernetes. Mantiene las reglas de red en todos los nodos, lo que permite una comunicación fluida entre los elementos del módulo tanto dentro como fuera del clúster.

Tiempo de ejecución del contenedor

Es un software que se encarga de ejecutar contenedores dentro de los nodos del clúster. Los ejemplos incluyen CRI-O, containerd, Docker, etc.

[ Obtenga este libro electrónico gratuito:Administrar sus clústeres de Kubernetes para principiantes. ]

¿Qué sigue?

En esta publicación de dos blogs, he cubierto la arquitectura de Kubernetes y sus componentes. Hice un esfuerzo humilde y sencillo para explicar las máquinas virtuales, los conceptos de contenedores y la arquitectura de clúster básica de Kubernetes.

[ Las diferencias entre Kubernetes y OpenShift se pueden encontrar en este nuevo libro electrónico. ]

Referencias:Componentes de Kubernetes


Linux
  1. Una guía de SELinux para administradores de sistemas:42 respuestas a las grandes preguntas

  2. Guía básica para instalar LAMP en Ubuntu

  3. Una guía del administrador de sistemas para configurar un servidor de correo electrónico

  4. ¿Qué es un administrador de sistemas?

  5. Solución de problemas básicos de Nginx

Una guía para principiantes de LVM

Control de audio avanzado en Linux

Componentes principales de un clúster de Kubernetes

Una guía para principiantes sobre los trabajos de Cron

Una guía básica para el proceso de arranque de Linux

Guía completa para principiantes sobre la implementación de clústeres de Kubernetes en CentOS (y otros Linux)