使用 kubectl 在 pod 中执行 bash 命令?
Execute bash command in pod with kubectl?
我的问题很简单。
如何在 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
如果它只是一个 bash,它当然可以。但我想立即跳入 mongo shell。
我找到了解决方案,但它不起作用。告诉我这现在是否可行?
谢谢。
双破折号“--”用于将您想要在容器内 运行 的命令与 kubectl 参数分开。
所以正确的做法是:
kubectl exec -it --namespace=tools mongo-pod -- bash -c "mongo"
您忘记了“--”和“bash”之间的 space。
要执行多个命令,您可能需要:
创建脚本并将其作为卷挂载到您的 pod 中并执行
使用脚本启动侧容器,运行它
我用这样的东西进入 pod 的 shell:
kubectl exec -it --namespace develop pod-name bash
然后您可以在 pod 中执行您想要的命令(例如 ping)
ping www.google.com
然后您就可以看到您的 ping 日志,瞧...享受它 :D
我的问题很简单。
如何在 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
如果它只是一个 bash,它当然可以。但我想立即跳入 mongo shell。
我找到了解决方案,但它不起作用。告诉我这现在是否可行?
谢谢。
双破折号“--”用于将您想要在容器内 运行 的命令与 kubectl 参数分开。 所以正确的做法是:
kubectl exec -it --namespace=tools mongo-pod -- bash -c "mongo"
您忘记了“--”和“bash”之间的 space。
要执行多个命令,您可能需要:
创建脚本并将其作为卷挂载到您的 pod 中并执行
使用脚本启动侧容器,运行它
我用这样的东西进入 pod 的 shell:
kubectl exec -it --namespace develop pod-name bash
然后您可以在 pod 中执行您想要的命令(例如 ping)
ping www.google.com
然后您就可以看到您的 ping 日志,瞧...享受它 :D