【问题标题】:How to get output from an interactive shell inside of a pod如何从 pod 内的交互式 shell 获取输出
【发布时间】:2021-03-21 19:32:15
【问题描述】:

我正在尝试使用我的组织的一个 sdk 编写一个 python 脚本,并从 kubernetes pod 中提取一些有用的信息。

我的 sdk 有一个 podexec() 函数,可用于在 pod 内执行命令。

我有一个特定的用例,我必须在 pod 内执行一个命令,这反过来会启动一个交互式 shell,然后在那个交互式 shell 中,我想执行一个命令并打印输出。

例如,假设有一个 mysql pod,我想先 exec 进入 mysql pod,然后运行 ​​mysql 命令,这将打开一个 交互式 mysql shell,我想在其中输入一些命令,例如“Show tables;”,然后在我的脚本中获取该命令的输出。有可能吗?

进入 pod 后,我可以运行如下所示的单个命令

kubectl exec -it mysql-pod -- bash

echo "show tables;" |mysql

现在如何在不使用 kubectl 进入 pod 的情况下运行它?

注意:我的用例实际上不是 w.r.t mysql。我的组织有一个自定义工具,可以让我们在它的交互式 shell 中执行命令。这里的mysql只是一个例子。

【问题讨论】:

    标签: python mysql kubernetes kubectl kubernetes-pod


    【解决方案1】:

    好的。想通了。

    kubectl exec -it mysql-pod -- bash -c "echo \"show tables\" |mysql"
    

    【讨论】:

      猜你喜欢
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 2011-09-13
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      相关资源
      最近更新 更多