Kubectl force eliminar pod

Kubectl force eliminar pod
Uso de los comandos Kubectl, eliminar una vaina de un nodo Kubernetes es una operación simple y no requiere pasos largos. Ya sea que necesite depurar un nodo, realizar una actualización o reducir el tamaño de su clúster, eliminar las vainas es un proceso simple. Sin embargo, antes de eliminar una cápsula, debe seguir un conjunto de pasos para asegurarse de que la aplicación se ejecute sin problemas.

En este artículo, discutiremos esos pasos. Tenga en cuenta, sin embargo, que apresurar este proceso puede dar lugar a errores y tiempo de inactividad de la aplicación. Ahora, discutamos el tema en detalle.

Cómo eliminar las vainas de Kubernetes de la forma más fácil?

Primero debe enumerar las vainas para eliminar la publicación de la manera más eficiente. Puede hacerlo si usa el comando get pods que se da a continuación.

$ kubectl obtiene vainas -O de ancho

Aquí, puede ver que el comando get pods enumeró los pods con detalles.

Ahora, si eliminamos la cápsula "pod-tres". Escriba el siguiente comando:

$ Kubectl eliminar pod-pod-tres

El comando anterior en el que hemos especificado el nombre del Pod (POD-Tres) eliminó el Pod con éxito.

$ kubectl obtiene vainas -O de ancho

Al enumerar todas las cápsulas, puede confirmar que el que está en cuestión se ha eliminado.

Como puede verificar en la imagen fijada arriba, no hay 'pod-tres.'

Cómo forzar las vainas Delete Kubernetes?

Por qué se requiere la eliminación de la cápsula de fuerza? Después de un tiempo de espera, la cápsula puede quedarse atascada en un estado de terminación/desconocido en un nodo inalcanzable. Estos estados también pueden ocurrir cuando un usuario intenta eliminar con gracia una vaina de un nodo inaccesible. En algunas situaciones, se le permite eliminar/eliminar con fuerza la cápsula.

Si una eliminación de fuerza es efectiva o no para destruir una cápsula, el nombre se eliminará del Apiservador inmediatamente. Esto permitiría al controlador de estado de estado establecer una cápsula de reemplazo con la misma identidad; Esto podría conducir en la duplicación de una cápsula que ya está en funcionamiento, que, si dicho POD aún puede interactuar con otros miembros de estado de estado, violaría el en una sola semántica que se hizo un estado de estado para garantizar.

La deleción de la fuerza manual debe usarse cuidadosamente porque puede romper al menos una de las semánticas del estado. StateFulSets se puede utilizar para ejecutar aplicaciones distribuidas y agrupadas que requieren una identidad de red consistente y un almacenamiento persistente.

La configuración de estas aplicaciones se basa con frecuencia en un conjunto que comprende un número predeterminado de miembros con identidades fijas. Múltiples miembros que comparten las mismas identidades pueden ser peligrosas y pueden terminar en la pérdida de datos.

Cuando elimina una cápsula de estado de estado por la fuerza, se asegura de que nunca se comunique con otras cápsulas en el estado de estado, y que su identidad puede ser liberada de forma segura para un reemplazo.

Siga estos procedimientos para destruir con fuerza una vaina usando kubectl> = 1.5:

$ kubectl eliminar pods nombre de pod --grace-period = 0 --force

Si está usando kubectl> = 1.4, puedes omitir el argumento -force y en su lugar usar:

$ Kubectl Eliminar pods Nombre de Pod --Grace-Period = 0

Ahora, usando el camino anterior, elimine el vaD "Pod-Two":

$ Kubectl Eliminar pod-two --force --grace-period = 0 --namespace = predeterminado

Aquí está el resultado del comando anterior cuando se ejecuta.

Tenga en cuenta que las eliminaciones de la cápsula de la fuerza no se basan en la confirmación de kubelet de que la cápsula ha sido terminado.

Si el Pod permanece en el estado desconocido después de ejecutar estos comandos, use el siguiente comando para eliminarlo del clúster:

$ Kubectl Patch Pod -Two -P '"metadata": "finalizadores": null'

Verifique si se ha eliminado la cápsula.

Cómo eliminar las vainas de un nodo a la vez?

Si su nodo tiene cápsulas no esenciales o vainas con estado, puede hacer uso del comando de drenaje kubectl. Este paso eliminará todas las vainas del nodo. Antes de progresar, verifique dos veces la identidad del nodo que está eliminando y asegúrese de que las cápsulas en un determinado nodo se puedan terminar de forma segura. La tarea se realizará para usted con la siguiente instrucción.

$ kubectl obtener nodos

Después del comando get pod, use el siguiente comando citado a continuación.

Luego, intente usar las siguientes instrucciones citadas para drenar todas las vainas.

$ kubectl drenaje

Para asegurarse de que no hay vainas que sigan funcionando en el nodo, ejecute el comando get pods nuevamente. Si está utilizando NoExecute para ejecutar pods, aún estarán en el nodo.

Ejecutar el comando de drenaje una vez más. Pero esta vez se debe incluir la bandera de la fuerza. Esto eliminará todas las cápsulas del nodo. Finalmente, use el comando Kubectl Delete Node para eliminar el nodo del clúster relevante.

Cómo permitir que las vainas vuelvan a los nodos?

Una vez que haya terminado de realizar el mantenimiento en un nodo, use el comando Kubectl Uncordon para volver a habilitar la programación en ese nodo. Luego, a medida que las vainas estén disponibles para la programación, reaparecerán en ese nodo.

$ Kubectl Uncordon Docker-desktop

Si tiene un nodo recién sin acordes o un nuevo nodo dentro de su clúster, el equilibrio de vainas particulares puede ser un problema. Aunque es mejor dejar que el planificador de Kubernetes asigne las vainas según sea necesario cuando altere su implementación/estado de estado, puede forzar el proceso eliminando las vainas y programándolas en otro lugar que emplean algunas de las fases anteriores.

Conclusión

Es posible que necesite eliminar una sola vaina o múltiples vainas de uno de sus nodos al ejecutar su clúster Kubernetes. Existe la posibilidad de que necesite solucionar dificultades para el nodo, actualizar un nodo específico o escalar su clúster. Aunque eliminar cualquier cápsula o vaina de un nodo no es muy difícil, hay algunos consejos y técnicas que debe seguir para garantizar que su aplicación/programa no se vea interrumpida. Esto es de lo que hemos hablado y expandido en este artículo. Antes de ejecutar cualquier instrucción, asegúrese de haber leído y comprender a fondo cada paso para evitar cometer errores que puedan dar lugar al tiempo de inactividad.