如何在kubernetes中执行参数? [英] how to execute an argument in kubernetes?
本文介绍了如何在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屋!
查看全文