首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kubernetes pod中执行多个命令(或从shell脚本执行)

在kubernetes pod中执行多个命令(或从shell脚本执行)
EN

Stack Overflow用户
提问于 2017-04-19 22:56:45
回答 3查看 51.8K关注 0票数 26

我正在编写一个shell脚本,它需要登录到pod并在kubernetes pod中执行一系列命令。

下面是我的sample_script.sh:

代码语言:javascript
复制
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

运行此脚本后,我没有得到任何输出。任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-20 03:29:44

您是否将所有这些命令都作为一行命令运行?首先,在这些命令之间没有;&&。因此,如果您将其作为多行脚本粘贴到您的终端,它很可能会在本地执行。

其次,要告诉bash执行某些操作,您需要:bash -c "command"

尝试运行以下命令:

代码语言:javascript
复制
$ kubectl exec POD_NAME -- bash -c "date && echo 1"

Wed Apr 19 19:29:25 UTC 2017
1

您可以像这样将其设置为多行:

代码语言:javascript
复制
$ kubectl exec POD_NAME -- bash -c "date && \
      echo 1 && \
      echo 2"
票数 77
EN

Stack Overflow用户

发布于 2019-07-06 11:40:59

下面的方法应该是可行的

kubectl -it exec podname -- bash -c "ls && ls"

代码语言:javascript
复制
bin   dev   etc   home  proc  root  run   sys   tmp   usr   var bin  
dev   etc   home  proc  root  run   sys   tmp   usr   var

如果上述命令不起作用,请尝试将bash替换为以下/bin/bashsh/bin/sh之一

票数 3
EN

Stack Overflow用户

发布于 2018-08-03 21:42:48

-t可以解决您的任务

例如,我在这里运行了几个命令:

代码语言:javascript
复制
kubectl get pods |grep nginx|cut -f1 -d\  |\
while read pod; \
 do echo "$pod writing:";\
  kubectl exec -t $pod -- bash -c \
   "dd if=/dev/zero of=/feeds/test.bin bs=260K count=4 2>&1|\
    grep copi |cut -d, -f4; \
    a=$SECONDS; echo -ne 'reading:'; cat /feeds/test.bin >/dev/null ; \
    let a=SECONDS-a ; \
    echo $a sec"
done

附注:您的示例如下:

代码语言:javascript
复制
kubectl exec -t octavia-api-worker-pod-test -c octavia-api -- bash -c "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"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43499313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档