运行Python脚本的Kubernetes CronJob

2024-06-09 00:44:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过kubernetescronjob来调度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

但是我不能运行它因为主.py找不到,我知道不支持相对路径,所以我硬编码了路径,但是我找不到我的主目录,我尝试了ls /home/,在那里我的文件夹名不可见,所以我无法访问我的项目存储库。在

最初我计划运行bash脚本,它可以:

  1. pip install requirements.txt安装需求
  2. 然后运行Python脚本

但是我不知道我怎么能用库伯内特斯来做,这让我很困惑

简而言之,我希望能够运行k8s CronJob,它可以通过首先安装需求然后运行Python脚本来运行它


Tags: namepyecho规范脚本helloworldbatch