¿Cuál es la diferencia entre implementar el pod de reinicio y eliminar el pod en k8s? ¿Ambos están reiniciando el módulo?
Respuesta1
En Kubernetes, los comandos de reinicio y eliminación de implementación se utilizan para reiniciar o eliminar pods, respectivamente. Sin embargo, funcionan de diferentes maneras y tienen diferentes efectos en los pods y en el sistema en general.
El comando rollout restart se utiliza para reiniciar una implementación o un conjunto de réplicas en Kubernetes. Esto significa que reemplazará los pods existentes en el conjunto de implementación o réplica por otros nuevos, que tendrán la última versión del código de la aplicación y cualquier configuración actualizada. Esto resulta útil para implementar actualizaciones en una aplicación o para reiniciar una implementación que no funciona correctamente.
Por otro lado, el comando eliminar se utiliza para eliminar un pod directamente, sin afectar la implementación o el conjunto de réplicas. Esto eliminará el pod del sistema y liberará los recursos que estaba usando. Esto es útil para eliminar pods que ya no son necesarios o para solucionar problemas con pods individuales.
En general, tanto el comando de reinicio como el de eliminación se pueden usar para reiniciar pods en Kubernetes, pero funcionan de diferentes maneras y tienen diferentes efectos en el sistema. El comando de reinicio de implementación se usa para reiniciar una implementación completa o un conjunto de réplicas, mientras que el comando de eliminación se usa para eliminar pods individuales.
Respuesta2
Para otras personas que terminan aquí, kubectl rollout
no se aplica a los grupos. Según la ayuda de la línea de comando ( kubectl rollout -h
):
Valid resource types include:
* deployments
* daemonsets
* statefulsets
Mientras escribo esto, si intenta ejecutar un reinicio de implementación en un pod, probablemente recibirá un mensaje de error como este:
$ kubectl rollout restart pod test-zrdcs
error: pods "test-zrdcs" restarting is not supported
Para los recursos del pod, una eliminación hará lo que dice en la lata e intentará eliminar el pod. Si el pod es administrado por un recurso de nivel superior (por ejemplo, conjunto de réplicas o implementación), ese objeto puede reemplazar el pod eliminado.
Esta es la versión que kubectl
estoy usando ahora mismo:
$ kubectl version --client --short
Client Version: v1.25.4