美文网首页
k8s-pod之Job

k8s-pod之Job

作者: david161 | 来源:发表于2022-03-14 07:34 被阅读0次

一次性执行任务,类似Linux中的job
应用场景:如离线数据处理,视频解码等业务

使用镜像

docker pull perl:slim

部署Job

apiVersion: batch/v1 
kind: Job 
metadata: 
  name: pi 
spec: 
  template: 
    spec: 
      containers: 
        - name: pi 
          image: perl:slim 
          command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(6000)"] 
      restartPolicy: Never 
  backoffLimit: 4

backoffLimit说明

.spec.backoffLimit用于设置Job的容错次数,默认值为6。当Job运行的Pod失败次数到 达.spec.backoffLimit次时,Job Controller不再新建Pod,直接停止运行这个Job,将其运行结 果标记为Failure。另外,Pod运行失败后再次运行的时间间隔呈递增状态,例如10s,20s, 40s。。。

运行Job

运行job kubectl apply -f jobdemo.yml 查看pod日志 kubectl logs -f pi-7nrtv 删除job kubectl delete -f jobdemo.yml

StatefulSet

在kubernetes系统中,Pod的管理对象RC,Deployment,DaemonSet和Job都面向无状态的服务,但现实中有很多服务时有状态的,比如一些集群服务,例如mysql集群,集群一般都会有这四个特点:

  1. 每个节点都是有固定的身份ID,集群中的成员可以相互发现并通信
  2. 集群的规模是比较固定的,集群规模不能随意变动
  3. 集群中的每个节点都是有状态的,通常会持久化数据到永久存储中
  4. 如果磁盘损坏,则集群里的某个节点无法正常运行,集群功能受损
    如果你通过RC或Deployment控制Pod副本数量来实现上述有状态的集群,就会发现第一点是无法满足的,因为Pod名称和ip是随机产生的,并且各Pod中的共享存储中的数据不能都动,因此StatefulSet在这种情况下就派上用场了,那么StatefulSet具有以下特性:
    StatefulSet里的每个Pod都有稳定,唯一的网络标识,可以用来发现集群内的其它成员,假设,StatefulSet的名称为lagou,那么第1个Pod叫lagou-0,第2个叫lagou-1,以此类推
    StatefulSet控制的Pod副本的启停顺序是受控的,操作第N个Pod时,前N-1个Pod已经是运行且准备状态
    StatefulSet里的Pod采用稳定的持久化存储卷,通过PV或PVC来实现,删除Pod时默认不会删除与StatefulSet相关的存储卷(为了保证数据的安全)
    StatefulSet除了要与PV卷捆绑使用以存储Pod的状态数据,还要与Headless,Service配合使用,每个StatefulSet定义中都要生命它属于哪个Handless Service,Handless Service与普通Service的关键区别在于,它没有Cluster IP

相关文章

  • k8s-pod之Job

    一次性执行任务,类似Linux中的job应用场景:如离线数据处理,视频解码等业务 使用镜像 docker pull...

  • spark源码阅读之scheduler模块②

    在spark源码阅读之scheduler模块①中,分析了DAGScheduler如何提交Job,并且将Job划分为...

  • K8S-pod之ReplicaSet

    ReplicationController用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出...

  • K8S-pod之Deployment

    Deployment是kubernetes在1.2版本中引入的新概念,用于更好的解决Pod的编排问题,为此,Dep...

  • k8s-pod之DaemonSet

    DaemonSet 确保全部Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 ...

  • Kubernetes对象之CronJob

    学习本节内容之前,希望你已经对Job有了基本的了解。具体请参考这篇文章:Kubernetes对象之Job Cron...

  • Kubernetes对象之DaemonSet

    学习本节内容之前,希望你已经对Job有了基本的了解。具体请参考这篇文章:Kubernetes对象之Job 一个Da...

  • 2020-10-19 CI/CD Tool chain Deve

    Job Location:Gothenburg, Sweden Job Type: Consultant JOB ...

  • 2020-10-17 .NET DEVELOPER

    Job Location:Gothenburg, Sweden Job Type: Consultant JOB ...

  • Hadoop 任务查看与管理命令

    1.查看 Job 信息:hadoop job -list 2.杀掉 Job:hadoop job –kill ...

网友评论

      本文标题:k8s-pod之Job

      本文链接:https://www.haomeiwen.com/subject/ixxzrrtx.html