【发布时间】:2021-03-11 13:16:46
【问题描述】:
我正在尝试通过 Kubernetes CronJob 安排 Python 脚本,但由于某种原因,我无法理解我该怎么做。我可以运行像echo Hello World 这样的简单脚本,但这不是我想要的
我尝试使用此规范:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: test
spec:
schedule: "*/1 * * * *"
concurrencyPolicy: "Forbid"
failedJobsHistoryLimit: 10
startingDeadlineSeconds: 600 # 10 min
jobTemplate:
spec:
backoffLimit: 0
activeDeadlineSeconds: 3300 # 55min
template:
spec:
containers:
- name: hello
image: python:3.6-slim
command: ["python"]
args: ["./main.py"]
restartPolicy: Never
但是我无法运行它,因为找不到 main.py,我知道不支持相对路径,所以我硬编码了路径但是我找不到我的主目录,我尝试做 @987654324 @ 那里我的文件夹名称不可见,因此我无法访问我的项目存储库。
最初我打算运行 bash 脚本,它可以:
-
pip install requirements.txt的安装要求 - 然后运行 Python 脚本
但我不确定如何使用 kubernetes 做到这一点,这让我很困惑
简而言之,我希望能够运行 k8s CronJob,它可以通过首先安装要求然后运行它来运行 Python 脚本
【问题讨论】:
-
您无法运行它,因为您使用的是图像
python:3.6-slim。为了使它工作,您需要根据python:3.6-slim创建自己的图像。请查看following link 以了解如何构建自己的图像。然后你需要能够用 Kubernetes 看到你的镜像。 -
@Shashank Sharma 你解决了这个问题还是它仍然是有效的问题?
标签: python kubernetes