如何检查Pod中是否存在ping实用程序

时间:2019-02-19 10:14:03

标签: linux shell kubernetes

我想要一个命令来检查在我尝试过的Pod中是否存在ping实用程序

kubectl exec -it auxiliary-etcd-ubuntu -n kube-system -c etcd-auxiliary-0 ping -c 1 127.0.0.1 ; echo $?

响应是

Error from server (BadRequest): container 1 is not valid for pod auxiliary-etcd-ubuntu
1

还有其他更好的方法来只是检查ping实用程序是否已经存在或已安装在kubernetes容器中。

谢谢。

3 个答案:

答案 0 :(得分:3)

如果您只想检查POD内是否存在/已安装命令

kubectl exec -it auxiliary-etcd-ubuntu -- which ping ; echo $?

这将为您提供退出状态1(如果不存在)。

kubectl exec -it auxiliary-etcd-ubuntu -- whereis ping

这将提供安装位置的路径。

答案 1 :(得分:2)

尝试以下命令

(time (some-work))

答案 2 :(得分:1)

您的命令不正确,无法识别在pod内运行的命令(ping -c 1 127.0.0.1 ; echo $?)和在主机上运行的命令(kubectl exec -it auxiliary-etcd-ubuntu -n kube-system -c etcd-auxiliary-0)之间的区别。正确的命令将是:

kubectl exec -it auxiliary-etcd-ubuntu -n kube-system -c etcd-auxiliary-0 -- ping -c 1 127.0.0.1 ; echo $?

以上命令将起作用。