gpt4 book ai didi

bash - 使用 kubectl 在 pod 中执行 bash 命令?

转载 作者:行者123 更新时间:2023-12-02 23:45:28 25 4
gpt4 key购买 nike

我的问题很简单。

如何在 pod 中执行 bash 命令?我想用一个 bash 命令完成所有事情。

[root@master ~]# kubectl exec -it --namespace="tools" mongo-pod --bash -c "mongo"
Error: unknown flag: --bash

因此,该命令将被忽略。

[root@master ~]# kubectl exec -it --namespace="tools" mongo-pod bash -c "mongo"
root@mongo-deployment-78c87cb84-jkgxx:/#

大概如此。

[root@master ~]# kubectl exec -it --namespace="tools" mongo-pod bash mongo
Defaulting container name to mongo.
Use 'kubectl describe pod/mongo-deployment-78c87cb84-jkgxx -n tools' to see all of the containers in this pod.
/usr/bin/mongo: /usr/bin/mongo: cannot execute binary file
command terminated with exit code 126

如果只是一场狂欢,那当然有效。但我想立即跳进 mongo shell。

我找到了解决方案,但不起作用。告诉我现在这是否可能? Executing multiple commands( or from a shell script) in a kubernetes pod

谢谢。

最佳答案

双破折号“--”用于将要在容器内运行的命令与 kubectl 参数分隔开。所以正确的做法是:

kubectl exec -it --namespace=tools mongo-pod -- bash -c "mongo"

您忘记了“--”和“bash”之间的空格。

要执行您可能需要的多个命令:

  • 创建脚本并将其作为卷挂载到 pod 中并执行

  • 使用脚本启动侧容器并运行它

关于bash - 使用 kubectl 在 pod 中执行 bash 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51247619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com