如何在kubernetes中执行参数? [英] how to execute an argument in kubernetes?

查看:93
本文介绍了如何在kubernetes中执行参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对如何在exec中执行$()命令有误解.我正在使用以下参数在kubernetes中创建工作:

I have misunderstanding with how to execute $() commands in exec. i'm creating a job in kubernetes with this params:

command:
    - ./kubectl
    - -n
    - $MONGODB_NAMESPACE
    - exec
    - -ti
    - $(kubectl
    - -n
    - $MONGODB_NAMESPACE
    - get
    - pods
    - --selector=app=$MONGODB_CONTAINER_NAME
    - -o
    - jsonpath='{.items[*].metadata.name}')
    - --
    - /opt/mongodb-maintenance.sh

但是带有$(kubectl -n ... --selector ...)的部分被视为字符串,并且不执行.请告诉我如何正确地做.谢谢!

but the part with $(kubectl -n ... --selector ...) is treated as a string and don't execute. Please tell me how to do it properly. Thanks!

推荐答案

据我所知,通过将每个节作为数组元素是无法实现的.相反,您可以执行以下操作:

As far as I know this is not achievable by putting each section as an array element. Instead you can do something like the following:

command:
    - /bin/sh
    - -c
    - |        
      ./kubectl -n $MONGODB_NAMESPACE exec -ti $(kubectl -n $MONGODB_NAMESPACE get pods --selector=app=$MONGODB_CONTAINER_NAME -o jsonpath='{.items[*].metadata.name}') -- /opt/mongodb-maintenance.sh

这篇关于如何在kubernetes中执行参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆