Kubernetes CronJob运行Python脚本

时间:2019-06-05 09:18:05

标签: python kubernetes

我正在尝试通过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,我知道不支持相对路径,因此我对该路径进行了硬编码,但后来却找不到自己的主目录,我尝试做{{ 1}},在那儿我的文件夹名称不可见,所以我无法访问我的项目存储库。

最初,我打算运行可以执行以下操作的bash脚本:

  1. 根据ls /home/的安装要求
  2. 然后运行Python脚本

但是我不确定如何使用kubernetes做到这一点,这让我感到困惑

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

1 个答案:

答案 0 :(得分:0)

启动脚本./main.py在哪里?它是否存在于图像中。 您需要使用python:3.6-slim作为基础映像来构建新映像,并将python脚本添加到PATH。那么您将可以从k8s CronJob中运行它

相关问题