kubernetes学习笔记14:job-control和daemonset
job就是job-controller里面的一种类型,下面spec.template就是pod的spec,唯一多了restartpolicy重启策略和job运行失败时候的重试次数backofflimit
查看pod,其实job最后执行单元还是pod,它比普通的pod多了一个ownerreference,这个东西声明此pod是归哪个上一层controller管理。这里声明它的controller是谁,可以通过pod反查它的控制器,同时根据job来查一下它的下属有哪些pod。还有另一种job叫cronjob就是定时运行job。
job的架构设计:job controller主要去创建pod,并跟踪job状态,可以及时提交配置重试或继续串行创建或并行创建pod。
daemonset守护进程控制器,是k8s提供的一个default controller,它可以保证集群内的每一个节点都运行一组相同的pod,同时根据节点状态保证新加入的节点自动创建对应的pod,可以在移除节点的时候删除对应的pod,它会跟踪每个pod的状态,假如挂掉了,可以recover这个状态。它会自动添加affinity和label来跟踪对应的pod,并根据配置在每个节点或者适合的部分节点创建pod。
daemonset和job controller很相似,唯一不同的是,它会监控节点的状态,节点新加入或者消失的时候会在节点上创建对应的pod,然后同时根据你配置的affinity或者label去选择对应的节点。