¿Qué es una cápsula desalojada??
Cuando se alcanza el disco o el límite de memoria de un nodo, se establece un indicador en el nodo Kubernetes para indicar que está bajo carga. Esta bandera también evita nuevas asignaciones en este nodo, lo que provoca un procedimiento de desalojo para liberar algunos recursos.
Este es el kubelet para el nodo de subpresura, que manejará el proceso de desalojo. Este manejará las cápsulas fallidas hasta que los recursos gastados del nodo caigan por debajo del umbral de desalojo, momento en el que el kubelet terminará todos.
Si una implementación está a cargo de la cápsula desalojada, la implementación crea un nuevo POD para que Kubernetes programen.
¿Cuándo serán desalojados las vainas??
Esta distinción tiene que ver con cómo Kubernetes maneja la presión de los recursos. Si los recursos de nodo se vuelven escasos, los kubernetes deben desalojar las vainas, un proceso se conoce como desalojo de presión de nodo. El planificador de nodos puede acomodar una CPU que está completamente ocupada; Por lo tanto, el desalojo no es necesario.
Debe desalojar las vainas del nodo e intentar colocarlas en otro nodo si la memoria es insuficiente. Esto se conoce como desalojo debido a restricciones de memoria. El desalojo de la presión de nodo también puede ser causado por la falta de espacio en disco.
¿Qué factores considera los kubernetes al decidir qué vainas desalojar??
La presión del nodo es causada por las cápsulas desalojadas en función de las limitaciones de recursos, como la memoria o el espacio de disco como hemos mencionado anteriormente. Las vainas en un estado fallido son los primeros en ser desalojados, ya que no se están ejecutando, pero aún pueden estar consumiendo recursos. Kubernetes luego examina las vainas en ejecución.
Evicir la cápsula que usa la mayor cantidad de memoria no funcionará porque es muy probable que sea una cápsula activa que sea difícil de implementar. En cambio, Kubernetes hace esta selección basada en dos clases diferentes: QoS (calidad de servicio) y prioridad.
Lo que sigue cuando se desalojan una cápsula?
Cuando se detecta una condición crítica, Kubernetes realiza algo de limpieza (sí, la intervalo de limpieza es el término oficial para el intervalo de monitoreo de desalojo) y desalienta las vainas. Este procedimiento "desalienta" (termina) una vaina y los contenedores que lo construyeron, pero no la cápsula misma. Por defecto, Kubernetes no distingue entre pods altamente críticos y no en todas las cápsulas importantes; Solo tiene un deber, que es recuperar recursos.
Las cargas de trabajo administradas por un recurso de carga de trabajo o la implementación producirán automáticamente nuevos vainas y eliminarán las vainas desalojadas.
A pesar del hecho de que las cápsulas desalojadas se han terminado y ya no deberían consumir ningún recurso del nodo, permanecen, y Kubernetes continúa administrándolas. Con un número creciente de vainas desalojadas, esto podría conducir a un aumento en el número de recursos requeridos dentro de la administración de Kubernetes.
Ahora intentaremos descubrir cómo encontrar una vaina desalojada y eliminarla con éxito. Hay algunos requisitos que deben cumplirse inicialmente.
Requisito previo
Para ejecutar comandos para eliminar las vainas desalojadas, primero, necesitaremos configurar un clúster de minikube en nuestra PC. Ubuntu 20.04 se utilizó para implementar los comandos de eliminar las vainas desalojadas en este tema. También podemos utilizar nuestro sistema operativo preferido para esto, ya que ya tenemos kubectl instalado. Debe instalarse antes de que se puedan ejecutar los comandos.
Ahora, es hora de comenzar una terminal. Una opción es usar la barra de aplicación de nuestro sistema operativo para llegar a la terminal. Otra forma es usar el atajo de teclado "Ctrl + Alt + T."Para comenzar un terminal, seleccione una de estas opciones. Primero, debemos arrancar un clúster de Minikube que se implementó previamente en Ubuntu 20.04. Ahora, lanzaremos Minikube escribiendo el siguiente comando en el terminal. La salida relevante para la instrucción mostrada a continuación se adjunta aquí.
Cómo detectar una cápsula desalojada?
Para averiguar el número exacto de vainas que han sido desalojadas, ejecute el siguiente comando. Este comando muestra una lista de las vainas que han sido desalojadas de su sistema. La salida relevante para la instrucción mostrada a continuación se adjunta aquí.
Ahora, intentemos una forma diferente del mismo comando. Hemos agregado -c al final del comando, como puede ver. El resto de la instrucción es indistinguible de la anterior. Te dirá cuántas vainas han sido desalojadas en total. No hay vainas desalojadas en nuestro escenario. Como resultado, como puede ver en la línea final de la captura de pantalla adjunta, el comando devuelve 0. La salida relevante para la instrucción mostrada a continuación se adjunta aquí.
Si su sistema tiene cápsulas desalojadas, el comando anterior generará el número, como 10, 3, 9, etc.
¿Cómo se pueden limpiar manualmente las vainas desalojadas??
Si no desea esperar a que se cumpla el umbral de recolección de basura, puede destruir las vainas manualmente con Kubectl. En un bucle de tiempo, cada cápsula desalojada identificada se puede eliminar utilizando el comando dado anteriormente.
Este comando puede ayudarlo a limpiar manualmente las vainas desalojadas. La salida relevante para la instrucción mostrada a continuación se adjunta aquí.
Conclusión
El desalojo es el procedimiento de fallar deliberadamente uno o incluso más de una vaina en cualquiera de los nodos hambrientos de recursos. Nos comunicamos sobre vainas desalojadas en este tutorial. También hemos discutido cómo eliminar una cápsula desalojada en pasos simples. Ahora, puede implementar la misma guía en su sistema usando Kubectl y ver cuántas vainas desalojadas existen en su sistema. Ahora puede enumerarlos todos y eliminar los seleccionados.