es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AKS: kubectl exec y kubectl log se cierran mientras el proceso sigue en ejecución dentro del contenedor.

Estoy ejecutando los siguientes comandos kubectl exec y kubectl logs al mismo tiempo en dos ventanas distintas del símbolo del sistema de Windows.

kubectl exec ${pod} containername -n namespace — bash -c “cd somebatch.ksh > /proc/1/fd/1 2>&1”

kubectl logs ${pod} containername -n namespace

Ambos se cierran desde el símbolo del sistema de Windows mientras el proceso aún se está ejecutando en el contenedor.

Si vuelvo a ejecutar el comando kubectl logs, podré ver los registros en ejecución.

kubectl logs ${pod} containername -n namespace

¿Qué debo hacer para mantener los comandos kubectl exec y kubectl logs ejecutándose sin salir?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para mantener los comandos kubectl exec y kubectl logs en funcionamiento sin salir de ellos, puedes utilizar una herramienta como “screen” para crear una sesión de shell persistente en el servidor.

    Aquí tienes un ejemplo de cómo puedes utilizar screen:

    1. Abre una nueva ventana de línea de comandos.
    2. Haz una conexión SSH al nodo del clúster Kubernetes donde se ejecuta la vaina.
    3. Ejecuta el comando “screen” para crear una sesión de shell persistente.
    4. Ejecuta los comandos kubectl exec y kubectl logs dentro de la sesión de screen.
    5. Desconéctate de la sesión de screen presionando “Ctrl + A + D”.
    6. Cierra la ventana de la línea de comandos.

    Ahora, los comandos kubectl exec y kubectl logs seguirán ejecutándose incluso si sales de la ventana de la línea de comandos.

    Para volver a conectarte a la sesión de screen, realiza una conexión SSH nuevamente al nodo del clúster Kubernetes y ejecuta el comando “screen -r”. Esto te llevará de vuelta a la sesión de screen donde podrás ver la salida del comando kubectl logs e interactuar con el comando kubectl exec.

Comments are closed.