【问题标题】:Killing kubectl exec command from master node doesn't kill the command running inside pod从主节点杀死 kubectl exec 命令不会杀死在 pod 内运行的命令
【发布时间】:2020-01-29 17:32:14
【问题描述】:

我从我的主节点运行kubectl exec -it pod_XXXX -- top 命令。然后从另一个终端通过sudo kill -9 <pid_of_kubectl> 命令杀死kubectl exec 进程。

 kubectl exec -it pod_XXXX -- top
 sudo kill -9 <pid_of_kubectl_exec_command>

在 POD 内部,top 命令继续运行。当我按 crtl+c 终止 kubectl exec 时,不会出现此问题。这是预期的行为吗?

【问题讨论】:

    标签: kubernetes kubectl


    【解决方案1】:

    通过运行 kubectl exec -it,您可以将终端连接/流式传输到 pod 终端,这样如果您在终端上键入任何内容,就会流式传输到 pod 终端。这就是为什么当您在终端上运行 kubectl exec -it pod_XXXX -- top 时,它会按预期工作。请记住,POD 的终端运行的是 top 界面,而不是您的。

    因此,当您键入 sudo kill -9 pid_of_kubectl_exec_command 时,它会终止您的终端与 POD 终端之间的连接。因此,POD 终端内的进程一直在运行。

    当您从终端按 ctrl+c 时,它会将 ctrl+c 流式传输到 POD 终端,这就是 top 立即终止的原因.

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多