JaV*_*aPG 0 bash python-2.7 docker kubernetes kubernetes-helm
我正在尝试使用输入参数从 kubernetes 运行 python 脚本(在 python 上使用 import argsparse),python 脚本在 kubernetes 上没有任何输入参数的情况下运行良好,以下命令在 dockerpython python_script.py -e $(date -d '2020/08/23') -d 7 -m映像上运行也没有问题。
我正在尝试构建我的 values.yaml 文件,以便 kubernetes 也可以运行它,但直到现在都没有成功。
我的 values.yaml 文件(仅与脚本相关的部分):
- name: python-script
command: ["python"]
args:
- "python_script.py"
- "-e $(date -d '2020/08/23')"
- "-d 7"
- "-m"
resources:
limits:
cpu: 50m
memory: 512Mi
requests:
cpu: 50m
memory: 512Mi
failedJobsHistoryLimit: 1
successfulJobsHistoryLimit: 3
concurrencyPolicy: Forbid
restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)
在 kubernetes 上运行时的输出:python_script.py: error argument -e/--end_date: Not a valid date: ' $(date -d "2020/08/23")'.
就像 kubernetes$(date -d "2020/08/23")出于某种原因甚至没有将 bash 命令解析为有效日期,而 docker 图像则没有问题。
我试图["bash"]在 python 文件之后添加另一个命令并在那里添加 args 但仍然出现错误。
有任何想法吗?任何帮助将不胜感激!
谢谢。
当您使用 command 运行时python,则shell不会调用then 。
所以尝试:
- name: python-script
command: ["/bin/sh"]
args:
- -c
- >-
python python_script.py
-e $(date -d '2020/08/23')
-d 7
-m
resources:
limits:
cpu: 50m
memory: 512Mi
requests:
cpu: 50m
memory: 512Mi
failedJobsHistoryLimit: 1
successfulJobsHistoryLimit: 3
concurrencyPolicy: Forbid
restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1950 次 |
| 最近记录: |