在kubernetes窗格中执行多个命令(或来自shell脚本)
我正在编写一个shell脚本,需要login到pod并在kubernetes窗格中执行一系列命令。
下面是我的sample_script.sh
kubectl exec octavia-api-worker-pod-test -c octavia-api bash unset http_proxy https_proxy mv /usr/local/etc/octavia/octavia.conf /usr/local/etc/octavia/octavia.conf-orig /usr/local/bin/octavia-db-manage --config-file /usr/local/etc/octavia/octavia.conf upgrade head
运行这个脚本后,我没有得到任何输出。 任何帮助将不胜感激
你是否将所有这些命令作为单行命令运行? 首先,没有;
或者这些命令之间的&&
。 所以如果你把它作为一个多行脚本粘贴到你的terminal上,它可能会在本地执行。
其次,要告诉bash执行什么,你需要: bash -c "command"
。
尝试运行这个:
$ kubectl exec POD_NAME -- bash -c "date && echo 1" Wed Apr 19 19:29:25 UTC 2017 1
你可以像这样做多行:
$ kubectl exec POD_NAME -- bash -c "date && \ echo 1 && \ echo 2"