Kubernetes组件Job与Corejob

Job

Job启动后,只运行一个Pod,Pod运行结束后整个Job也就立刻结束;

Example:

   输出圆周率小数点后2000位,运行时间大概为10s

apiVersion: batch/v1
kind: Job
metadata:
  name: job-demo
spec:
  template:
    metadata:
      name: job-demo
    spec:
      restartPolicy: Never
      containers:
      - name: counter
        image: busybox
        command:
        - "bin/sh"
        - "-c"
        - "for i in 9 8 7 6 5 4 3 2 1;do echo $i;done"

CronJob

周期性完成Job,定点时间调度Job运行

策略:

  1. Allow(默认):允许并发运行Job;
  2. Forbid:禁止并发运行,如果前一个Job没有完成则直接跳过执行下一个;
  3. Replace:取消当前正在运行的Job,用一个新的来替换。

Example:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: cronjob-demo
spec:
  schedule: "*/30 * * * *"     #这里需要添加一个时间调度的周期,和crontab调度是一样的,这也是主要和job任务的区别,同时这里也不需要添加执行的命令
  jobTemplate:            #cronjob实际上下面就是用的job配置,这里可以直接将上面job的配置复制过来即可
    spec:
      template:
        metadata:
          name: cronjob-demo      #pod名称
        spec:
          restartPolicy: Never
          containers:
          - name: counter
            image: busybox
            command:
            - "bin/sh"
            - "-c"
            - "for i in 9 8 7 6 5 4 3 2 1 ;do echo $i;done"

Example:

apiVersion: batch/v1beta1 #版本
kind: CronJob
metadata:
  name: xxxxxx  #名称
  namespace: xxxx #项目分组
spec:
  concurrencyPolicy: Replace   #重点  并发策略
  failedJobsHistoryLimit: 1     #重点   失败任务历史显示个数
  jobTemplate:
    metadata: {}
    spec:
      activeDeadlineSeconds: 600
      backoffLimit: 6
      completions: 1
      parallelism: 1
      template:
        metadata: {}
        spec:
          containers:
          - command:
            - curl
            - '-i'
            - >-
              www.baidu.com
            env:
            - name: MYPATH
              value: /usr/local
            image: >-
              registry-vpc.cn-shanghai.aliyuncs.com/jinlincentos/mycentos:1.4.1
            imagePullPolicy: IfNotPresent
            name: xxxxx  #应用名称
            ports:
            - containerPort: 80
              protocol: TCP
            resources:
              requests:
                cpu: 250m
                memory: 512Mi
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Never    #重启策略
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
  schedule: '*/1 * * * *'     #表达式 每分钟执行一次
  startingDeadlineSeconds: 60   #重点 job存活时间 默认不设置为永久
  successfulJobsHistoryLimit: 1  #重点 成功job历史显示个数
  suspend: true               #true 挂起 不运行  false 及运行

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值