我有一个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...]