【问题标题】:AKS : kubectl exec & kubectl log exits in between while the process is running in the container stillAKS:当进程仍在容器中运行时,kubectl exec 和 kubectl 日志退出
【发布时间】:2022-01-23 05:00:59
【问题描述】:

我在两个不同的 Windows 命令提示符下同时运行以下 kubectl exec & kubectl logs cmd

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

kubectl logs ${pod} containername -n namespace

当进程仍在容器中运行时,两者都会从 Windows 命令提示符中退出。

如果我再次运行 kubectl logs cmd,我可以看到正在运行的日志

kubectl logs ${pod} containername -n namespace

我应该怎么做才能保持 kubectl exec & kubectl log 命令运行而不退出。

【问题讨论】:

    标签: kubectl azure-aks


    【解决方案1】:

    您可以通过包含 --follow 来“跟踪”日志命令。

    exec 在容器中创建一个 shell 并运行脚本。一旦创建了 shell 并通过了脚本,该过程完成了。

    如果你想保持会话打开,你应该能够exec 只是bash 然后以交互方式运行命令。您可能需要包含--stdin --tty,即kubectl exec --stdin --tty ... -- bash

    【讨论】:

    • kubectl exec --stdin --tty 抛出无效选项
    • 我怀疑您没有正确运行该命令。这些都是有效的标志。见kubectl exec
    • 你能解释一下这些标志 --stdin --tty 吗?它有什么作用?
    • 请阅读我包含的文档的链接。
    猜你喜欢
    • 2017-08-25
    • 2022-10-26
    • 2017-02-20
    • 2018-10-06
    • 2021-02-09
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    相关资源
    最近更新 更多