k8s学习pod第六天

Cronjob

从1.5版本开始增加的类型,类似linux cron的定时任务

Cron Job的定时任务的形式:
分 时 日 月 周
apiVersion: batch/v1
//Cronjob资源类型
kind: CronJob
metadata:
   name: hello
//定义了 Pod 的行为和构建
spec:
   //定时任务
   schedule:  "*/1 * * * *"
   //job模板
   jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: nginx
            args:
            - /bin/bash
            - -c
            - date; echo Hello from the Kubernetes cluster
        //restartPolicy 指定什么情况下需要重启容器。对于 Job,只能设置为 Never 或者 OnFailure。对于其他 controller(比如 Deployment)可以设置为 Always 
          restartPolicy: OnFailure
kubectl create -f 2fluentd-ds.yaml 

 获取定时任务:

//获取 hello定时任务
kubectl get cronjob hello
NAME    SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
hello   */1 * * * *   False     0        26s             149m

//1min后再刷新,发现又执行了一次
[root@scms01 day6]# kubectl get cronjob hello
NAME    SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
hello   */1 * * * *   False     1        3s              152m

可见,能看到定时任务大的Schedule, suspend代表是否挂起,目前是false,Last Schedule是执行的时间,多次刷新后,可看到执行了多次

//获取当前的任务
kubectl get job
NAME             COMPLETIONS   DURATION   AGE
hello-28033159   1/1           5s         2m17s
hello-28033160   1/1           5s         77s
hello-28033161   1/1           5s         17s
//获取当前pod
[root@scms01 day6]# kubectl get pod |grep hello
hello-28033163-hbrcq                 0/1     Completed          0                  2m6s
hello-28033164-vcqmh                 0/1     Completed          0                  66s
hello-28033165-pdpdx                 0/1     Completed          0                  6s

查看pod hello-28033163-hbrcq的描述

[root@scms01 day6]# kubectl describe pod  hello-28033163-hbrcq  
Error from server (NotFound): pods "hello-28033163-hbrcq" not found

发现没有这个资源,这是因为对应的pod执行完定时任务小时了,我们需要在执行下 get pod

//再次获取
[root@scms01 day6]#  kubectl get pod |grep hello
hello-28033167-mtbfc                 0/1     Completed          0                  2m30s
hello-28033168-rcj9l                 0/1     Completed          0                  90s
hello-28033169-89lq8                 0/1     Completed          0                  30s
//查看
[root@scms01 day6]# kubectl describe pod  hello-28033167-mtbfc 
Name:             hello-28033167-mtbfc
Namespace:        default
Priority:         0
Service Account:  default
Node:             scms01/172.16.2.220

..........
.........
.........

//查看日志信息
[root@scms01 day6]# kubectl logs hello-28033169-89lq8 
Thu Apr 20 11:29:02 UTC 2023
Hello from the Kubernetes cluster

一直监控job的执行情况

 kubectl get jobs --watch
NAME             COMPLETIONS   DURATION   AGE
hello-28033171   1/1           5s         2m30s
hello-28033172   1/1           5s         90s
hello-28033173   1/1           5s         30s
hello-28033174   0/1                      0s
hello-28033174   0/1           0s         0s

删除job

kubectl delete cronjob hello
cronjob.batch "hello" deleted
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值