¿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:
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.