kubectl使用动态脚本运行pod



我有一个pod在启动时运行我的python脚本。我想让我的kubectl命令接受一个输入参数并传递给我的python脚本。这是我的pod的示例

{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "mypod",


},
"spec": {
"restartPolicy": "Never",
"containers": [
{
"name": "mypod",
"image": "myimage:1",
"imagePullPolicy": "Always",
"command": [
"python",
"/usr/bin/cma/excute.py", "argument"
]
}
]
}
}

,这里是kubectl,我用它来创建我的pod

kubectl run -i tmp-pod --rm -n=mynamespace --image=placeholder --restart=Never "--overrides="$(cat "mypod.json ")" 

无论如何要传递python脚本参数与kubeclt命令?

您可以看到如何使用python传递参数的示例。你可以在这个链接看到更多的文档。

Consider the following script test.py −
#!/usr/bin/python
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)

Now run the above script as follows 
$ python test.py arg1 arg2 arg3
This produces the following result 
Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']

可以使用JSON或YAML格式。

这里你可以看到如何用JSON创建一个Pod。你可以看到更多的文档

Create a pod using the data in pod.json
kubectl create -f ./pod.json
Create a pod based on the JSON passed into stdin
cat pod.json | kubectl create -f -
Edit the data in docker-registry.yaml in JSON then create the resource using the edited data
kubectl create -f docker-registry.yaml --edit -o json
And commands to  execute
$ kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client] [--overrides=inline-json] [--command] -- [COMMAND] [args...]

相关内容

  • 没有找到相关文章

最新更新