Kubernetes CronJob-通知、RunId和;日志

Kubernetes CronJob-通知、RunId和;日志,kubernetes,Kubernetes,我在Kubernetes有一个CronJob,它将日志写入控制台和文件。现在,我正在上面编写一个web应用程序。此应用程序将显示所有作业以及每次运行的历史记录和日志 是否可以从kubernetes处获取每次CronJob运行的日志 有没有可能像普通集装箱一样为CronJob配备一辆侧车 如何在作业开始、作业完成和作业失败时获取CronJob通知 kubernetes是否为每次运行生成唯一的作业ID 是否可能有一个具有未来开始时间的CronJob 是的,这些将存储在负责运行作业的物理节点上的容器日

我在Kubernetes有一个CronJob,它将日志写入控制台和文件。现在,我正在上面编写一个web应用程序。此应用程序将显示所有作业以及每次运行的历史记录和日志

  • 是否可以从kubernetes处获取每次CronJob运行的日志
  • 有没有可能像普通集装箱一样为CronJob配备一辆侧车
  • 如何在作业开始、作业完成和作业失败时获取CronJob通知
  • kubernetes是否为每次运行生成唯一的作业ID

  • 是否可能有一个具有未来开始时间的CronJob
  • 是的,这些将存储在负责运行作业的物理节点上的容器日志中。此外,pod详细信息/状态将根据作业保留情况保留在Kubernetes内部:
  • 是的,作业使用标准
    spec.Pod
    规范。这意味着您可以在一个pod内运行多个容器(由作业运行)
  • 这是什么意思?Kube API是最好的方法,您可以检查正在触发的作业,并检查此作业的状态。这通常提供作业的状态:
  • 是的,与POD被赋予唯一标识符的方式相同,当触发cronjob时,将创建具有唯一标识符的作业:

  • 1.如何读取容器日志并存储在数据库中?2.工作完成后边车也会死吗?3.如何在每次运行CronJob时获得通知?4.如何读取我的应用程序中的id?Wew,这有很多问题需要回答。1.您需要找出在应用程序中执行此操作的最佳方法,或者在容器上本地运行kubectl,或者使用任务通过web应用程序调用KubeAPI。2.是的,如果吊舱死了,所有的容器都会死。3.添加一个侧车,当它启动时通知你?实现这一目标的许多方法实际上都取决于你的能力/舒适度。4.Kube API将能够提供这一点。是否可能有一个具有未来开始时间的CronJob?@user1578872它使用crontab格式进行调度,因此,如果crontab可以支持您想要指定的日期,可以。绝对地
      status:
        completionTime: "2019-10-21T02:13:16Z"
        conditions:
        - lastProbeTime: "2019-10-21T02:13:16Z"
          lastTransitionTime: "2019-10-21T02:13:16Z"
          status: "True"
          type: Complete
        startTime: "2019-10-21T01:00:08Z"
        succeeded: 1
    
    user:~$ kubectl get jobs -n elasticsearch
    NAME                                                   COMPLETIONS   DURATION   AGE
    elasticsearch-elastic-stack-kibana-backup-1571443200   1/1           5s         2d4h
    elasticsearch-elastic-stack-kibana-backup-1571529600   1/1           5s         28h
    elasticsearch-elastic-stack-kibana-backup-1571616000   1/1           5s         4h58m