Establecer la afinidad del nodo de Kubernetes

Establecer la afinidad del nodo de Kubernetes
Este tutorial está relacionado con la afinidad del nodo en Kubernetes. Si desea agregar nodos a los contenedores de vaina en los grupos de pods de Kubernetes usando Affinity, está en el lugar correcto. Aquí, entenderemos cómo crear un nuevo nodo en Kubernetes usando Node Affinity. Le ayudaremos a cada paso con la ayuda de ilustraciones pragmáticas. Al final de este tutorial, podremos agregar nuevos nodos a los pods, eliminar nodos y actualizar los nodos usando Affinity en Kubernetes.

¿Qué es la afinidad del nodo en Kubernetes??

La afinidad del nodo es un planificador que asigna los nodos a pods específicos. Las vainas de Kubernetes hacen uso de la afinidad del nodo. La capacidad de una cápsula para declarar una afinidad por un grupo particular de nodos en el que podría colocarse se conoce como afinidad de nodo. En Node Affinity, realizamos dos tipos de programación: programación suave y dura. A través de la afinidad del nodo, nos aseguraremos de que las diferentes cápsulas que estamos utilizando se alojen en nodos específicos en el clúster de Kubernetes. En la cápsula, cada nodo está etiquetado con un valor único.

Prerrequisitos:

En nuestro sistema, se debe instalar el sistema operativo Linux o Ubuntu. Si Windows ya está instalado, instale una máquina virtual y ejecute la última versión de Ubuntu en su sistema. Se deben instalar Kubernetes en el sistema después de la instalación. Debe estar familiarizado con los comandos Kubernetes y la herramienta de línea de comandos Kubectl.

Lea con cuidado los requisitos previos. Después de cumplir con estos requisitos, ejecute los comandos en la línea de comandos Kubectl que se mencionan en los siguientes ejemplos. Desglosemos los tutoriales en pasos, cada uno con una breve explicación.

Paso 1: Ejecute los Kubernetes

En el primer paso, ejecutamos los Kubernetes en la terminal. El comando es es el siguiente:

> Minikube Start

Aquí, Minikube nos proporciona un entorno local en el que realizamos las diferentes operaciones en grupos.

Entonces, después de ejecutar el comando, Minikube comienza y el espacio de nodo está reservado.

Paso 2: Obtenga el nodo existente en Kubernetes

En este paso, se muestran los nodos etiquetados que actualmente existen en el sistema. Para obtener los nodos etiquetados, usamos un comando específico.

Ejecute el siguiente comando en el sistema y muestre los resultados:

> kubectl obtiene nodos -Asbels

En la captura de pantalla anterior, vimos que este comando devuelve diferentes parámetros como nombre, estado, roles, edad, versión y etiquetas. Los parámetros de nombre son para mostrar el nombre del contenedor, el parámetro de estado es devolver el estado del contenedor, el parámetro de roles es devolver quién controla el contenedor, el parámetro de edad es devolver cuánto tiempo se crea este pod, el parámetro de la versión es devolver Una versión de esta cápsula, y el parámetro de etiquetas es devolver el valor de nodo específico para esta cápsula.

Paso 3: Defina la afinidad del nodo Kubernetes

En este paso, definimos la afinidad del nodo por el contenedor de minikube. La afinidad del nodo depende de la etiqueta. Aquí, asignamos las etiquetas usando el comando. El comando para definir la afinidad del nodo es el siguiente:

> Kubectl etiqueta nodos minikube disktype == ssd

Adjuntamos una etiqueta al nodo minikube cuyo tipo de disco es SSD. Obtenemos la lista de nodos etiquetados después del etiquetado del nodo. Esto significa que obtenemos la lista de la afinidad del nodo. Aquí, ejecutamos el mismo comando nuevamente que usamos anteriormente para mostrar la lista de los nodos etiquetados.

> Kubectl Get Nodes -show -Labeles

Paso 4: Defina el archivo de configuración de la cápsula del nodo o la afinidad del nodo en el archivo YAML

En este paso, definimos la afinidad del nodo en un archivo YAML. En un contenedor de minikube, ejecutamos los siguientes comandos para crear el archivo YAML:

> nano aff. yaml

En Linux, Nano se usa para la creación de archivos.

Después de la ejecución del comando, aparece la siguiente captura de pantalla adjunta. Este es un archivo de configuración que contiene una información sobre contenedores y clústeres. Como se ve en la siguiente captura de pantalla, se especifica la afinidad. En la afinidad del nodo, nos da un valor de "requerido para la medición de la creación de información". Eso significa que se realiza una programación dura en este pod y el POD requiere esta programación a cualquier costo. En la afinidad del nodo duro, una vaina que se crea se llama Nginx. Definimos este tipo de disco de Pod como programado en ese tipo de disco de nodo cuya etiqueta adjunta es SSD. Recuerde siempre que cuando se muestra "se muestra el cambio de información requerida por ejemplo", se realiza la dura programación de la afinidad del nodo.

De esta manera, definimos la cápsula con diferentes tipos de afinidad de nodo.

Paso 5: Compruebe si el POD está programado en el nodo de etiqueta

En este paso, determinamos si un POD está programado o no en un nodo etiquetado. Para este propósito, ejecutamos el siguiente comando:

> kubectl aplicar -f AFF.yaml

El pod se crea con éxito.

Paso 6: Alistar todas las vainas en Kubernetes

Después de eso, verificamos la lista de vainas en ejecución o pendiente en nuestros kubernetes. Ejecutamos el siguiente comando que se muestra en la captura de pantalla:

.> Kubectl Get Pods -output = Wide

En la captura de pantalla previamente unida, notamos que todas las vainas están en estado de funcionamiento. Junto con esto, obtenemos todos los detalles de POD a través de este comando.

Paso 7: cree el POD para definir la afinidad del nodo en Kubernetes

En este paso, ejecutamos el comando nuevamente para la definición de afinidad del nodo. Creamos un archivo YAML con el "PF.nombre de Yaml ”. El comando es el siguiente:

> nano pf.yaml

Paso 8: Verifique el tipo de afinidad del nodo

En este paso, veremos qué tipo de afinidad del nodo se define en este archivo YAML. El nombre de la cápsula es nginx. Su especificación es afinidad, como se muestra en la siguiente captura de pantalla. En la afinidad del nodo, se utiliza "preferrredDuringingsChedulingInignureduringException". Cuando se usa la palabra preferida, significa que el tipo de afinidad del nodo es suave. La afinidad del nodo suave significa que si el horario prefiere el nodo y las etiquetas coinciden con la expresión de coincidencia dada, está bien. De lo contrario, ignore y programen la cápsula.

Paso 9: Compruebe si el POD está programado para etiquetar el nodo

En este paso, verificamos si todas las vainas que creamos están programadas con nodos de etiqueta. Por esta razón, ejecutamos el siguiente comando para crear el POD como un archivo YAML:

> kubectl aplicar -f pf.yaml

El pod se crea con éxito.

Paso 10: Alistar todas las vainas en Kubernetes

Aquí, ejecutamos el comando para ver si todas las vainas están programadas con nodos etiquetados. Ejecutamos el siguiente comando en el terminal:

> Kubectl Get Pods -output = Wide

El mismo proceso se repite para la afinidad del nodo suave como se discutimos anteriormente para la afinidad del nodo duro. Todos los nodos están en estado en ejecución, lo que significa que todas las vainas están programadas con nodos de etiqueta.

Conclusión

Node Affinity es un planificador de pods en los nodos de etiqueta. La afinidad del nodo incluye un conjunto de reglas en forma dura y suave. Esto es lo que aprendimos en detalle. Asumimos que aprendiste mucho de este tutorial. Puedes practicarlo para tu mejora.