【发布时间】: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