Cómo establecer las toleraciones de Kubernetes

Cómo establecer las toleraciones de Kubernetes
Hoy, aprendemos sobre la tolerancia en Kubernetes con la ayuda de ejemplos simples y básicos. Este artículo está diseñado para aprender el concepto básico de tolerancia en Kubernetes y cómo se puede implementar en Kubernetes para programar los pods. Dado que la tolerancia y las manchas trabajan juntos, también tendremos una breve discusión sobre las manchas para comprender todo el concepto de mancha y tolerancia en Kubernetes. Comencemos con las definiciones básicas de mancha y tolerancia.

¿Qué son las toleraciones y las manchas en Kubernetes??

La tolerancia y la mancha en Kubernetes se utilizan para garantizar que las vainas se coloquen en el nodo correcto. La tolerancia se define en la especificación de POD mientras que las manchas se definen en la especificación del nodo. Cuando aplica la tolerancia en una cápsula, le permite al planificador programar las cápsulas en un nodo específico. Sin embargo, las manchas funcionan opuestas a la tolerancia. Permite que el nodo rechace las vainas que se programen en él. Las vainas solo pueden programarse en el nodo si tienen toleraciones aplicadas con manchas coincidentes.

Kubernetes trabaja con vainas, grupos, nodos, eventos, etc. En algunos casos, para administrar estas cosas, Kubernetes necesita toleraciones y manchas. La tolerancia es la implementación del proceso de programación. Las cápsulas deben programarse para que puedan funcionar correctamente y puedan tener suficientes recursos cuando sea necesario para realizar su operación. Las toleraciones se aplican a las cápsulas contra Taint para que no tengan ninguna interrupción o interrupción mientras trabajan.

Las manchas en Kubernetes permiten que una vaina rechace la programación de una cápsula. Se aplica a un nodo utilizando la especificación del nodo "noDespec". El planificador no puede poner una cápsula en un nodo que tenga una mancha. Sin embargo, si necesita programar las cápsulas en un nodo donde ya se aplica una mancha, debe declarar la tolerancia en su contra.

La tolerancia en Kubernetes permite que se programe una cápsula en un nodo donde ya se aplica una mancha. La tolerancia en una cápsula se aplica utilizando la especificación de pod "podspec". Cuando aplica la tolerancia en una cápsula con una mancha de juego, la programación puede programar fácilmente las cápsulas en un nodo específico.

Ahora, presentemos un escenario para ayudarlo a comprender cómo puede implementar la tolerancia en una cápsula en Kubernetes. Antes de proceder a la sección de implementación, asegúrese de tener todos los requisitos de requisitos previos.

Requisito previo:

Las siguientes son las cosas que necesita para implementar la tolerancia en un nodo en Kubernetes:

  • Ubuntu 20.04 o cualquier otra última versión de cualquier sistema de Linux
  • Minikube (última versión)
  • Máquina virtual instalada en su sistema Linux/UNIX
  • Herramienta de línea de comandos kubectl

Suponiendo que su sistema satisfaga todas las necesidades de los requisitos previos, comencemos a establecer la tolerancia de Kubernetes.

Paso 1: Inicie la terminal de Minikube

Lo primero que debe hacer es iniciar el terminal de minikube para que pueda usar los comandos Kubectl para la implementación de la tolerancia de Kubernetes en un nodo. Para comenzar el minikube, se usa el siguiente comando:

> Minikube Start

Tras la ejecución de este comando, obtiene la siguiente salida en su terminal:

Paso 2: Obtenga la lista de nodos activos

Ahora que comenzamos el minikube, nuestro sistema está listo para establecer la tolerancia en pods en Kubernetes. Antes de establecer la tolerancia en las cápsulas, verifiquemos cuántos nodos y qué tipo de nodos ya tenemos. Para hacer eso, utilizamos el siguiente comando posterior:

> kubectl get nodos -o = custom -columns = nodoName:.metadatos.Nombre, Taintkey:.Especificaciones.manchas [*].clave, TaintValue:.Especificaciones.manchas [*].valor, tentecto:.Especificaciones.manchas [*].efecto

Esta instrucción enumera todos los nodos que están contaminados por la instalación predeterminada de Kubernetes. Veamos primero la salida de este comando. Luego, discutimos la lista de nodos:

Dado que no hay nodos creados y contaminados por la instalación predeterminada de Kubernetes y tampoco creamos específicamente ningún nodo, el resultado es . De la salida anterior, podemos ver que no hay nodo. Por lo tanto, primero creamos el nodo y luego establecemos la tolerancia. Para establecer la tolerancia en una cápsula en Kubernetes, primero debemos implementar una aplicación en un clúster. Los siguientes pasos demuestran cómo implementar una aplicación en un clúster.

Paso 3: crear un espacio de nombres

Primero, creamos un espacio de nombres para implementar una aplicación en un clúster. Aquí, creamos una aplicación con el valor "frontend" con la ayuda del siguiente comando:

> kubectl crear ns frontend

Este comando crea el espacio de nombres que tiene el valor "frontend". Ver la siguiente salida:

Paso 4: Implemente el pod Nginx en el espacio de nombres

Ahora, implemente el pod Nginx en el espacio de nombres que acabamos de crear. Utilizamos el siguiente comando para implementar el nginx:

> kubectl ejecutar nginx -image = nginx -namespace frontend

Esto implementa una aplicación en un clúster sin configuración de tolerancia en la especificación de la implementación de la aplicación. Usando el comando kubectl, implementamos el pod Nginx en el frontend del espacio de nombres:

Paso 5: Obtenga la lista de vainas

Ahora, revisemos las vainas creadas para ver sus estados. El comando dado enumera todos los pods y sus estados también:

> Kubectl Get Pods -N Frontend

Dado que solo creamos el Nginx, este comando debe enumerar esa cápsula con su estado. Ver la siguiente salida:

Paso 6: Analice los eventos de Kubernetes

Ahora, analicemos los eventos en Kubernetes para que podamos establecer la tolerancia en las vainas en consecuencia. Utilizamos el siguiente comando Kubectl para obtener la lista de eventos en Kubernetes:

> Kubectl Get Events -N Frontend

Esto enumera todos los eventos asociados con el valor front-end junto con sus propiedades como tipo, razón, objeto y mensaje. Consulte la lista dada en la siguiente salida:

Como puede ver en la salida anterior, el pod Nginx está programado con la tolerancia específica. La propiedad del "mensaje" muestra la lista de acciones que se realizan a lo largo del proceso.

Paso 7: Verifique el estado de las vainas

El paso final es verificar nuevamente el estado de la cápsula que creamos anteriormente para garantizar que esté programado con éxito en un nodo específico y correcto. Para hacer eso, usamos el siguiente comando kubectl:

> Kubectl Get Pods -N Frontend

Como se puede ver en la salida anterior, el POD ahora puede ejecutarse en el nodo contaminado ya que la tolerancia se establece en su contra.

Conclusión

En esta guía, exploramos sobre las manchas y la tolerancia. Aprendimos sobre el funcionamiento básico de las manchas y la tolerancia. Luego, implementamos la tolerancia en una cápsula. Con la ayuda de un ejemplo simple, aprendimos a establecer la tolerancia en un nodo en Kubernetes.