摘要:
CronJob(CJ) CronJob控制器以 Job控制器资源为其管控对象,并借助它管理pod资源对象,Job控制器定义的作业任务在其控制器资源创建之后便会立即执行, 但CronJob可以以类似于Linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复运行的方式。也就是说, CronJo 阅读全文
摘要:
Job Job,主要用于负责批量处理(一次要处理指定数量任务)短暂的一次性(每个任务仅运行一次就结束)任务。 Job特点如下: 当Job创建的pod执行成功结束时,Job将记录成功结束的pod数量 当成功结束的pod达到指定的数量时,Job将完成执行 Job的资源清单文件: apiVersion: 阅读全文
摘要:
DaemonSet(DS) DaemonSet类型的控制器可以保证在集群中的每一台(或指定)节点上都运行一个副本。一般适用于日志收集、节点监控等场景。 也就是说,如果一个Pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类Pod就适合使用DaemonSet类型的控制器创建。 Daem 阅读全文
摘要:
Horizontal Pod Autoscaler(HPA) 前面可以实现通过手工执行`kubectl scale`命令实现Pod扩容或缩容,但是这显然不符合Kubernetes的定位目标--自动化、智能化。 Kubernetes期望可以实现通过监测Pod的使用情况,实现pod数量的自动调整,于是就 阅读全文
摘要:
StatefulSet(有状态) 概述 无状态应用: 认为Pod都是一样的。 没有顺序要求。 不用考虑在哪个Node节点上运行。 随意进行伸缩和扩展。 有状态应用: 有顺序的要求。 认为每个Pod都是不一样的。 需要考虑在哪个Node节点上运行。 需要按照顺序进行伸缩和扩展。 让每个Pod都是独立的 阅读全文
摘要:
Deployment(Deploy) 为了更好的解决服务编排的问题,kubernetes在V1.2版本开始,引入了Deployment控制器。值得一提的是,这种控制器并不直接管理pod,而是通过管理ReplicaSet来简介管理Pod, 即:Deployment管理ReplicaSet,Replic 阅读全文
摘要:
Pod控制器详解 Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: - 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建 - 控制器创建的pod:kubernetes通过控制器创 阅读全文
摘要:
污点和容忍 污点(Taints) 前面的调度方式都是站在Pod的角度上,通过在Pod上添加属性,来确定Pod是否要调度到指定的Node上, 其实我们也可以站在Node的角度上,通过在Node上添加污点属性,来决定是否允许Pod调度过来。 Node被设置上污点之后就和Pod之间存在了一种相斥的关系,进 阅读全文
摘要:
亲和性调度 两种定向调度的方式,使用起来非常方便,但是也有一定的问题, 那就是如果没有满足条件的Node,那么Pod将不会被运行,即使在集群中还有可用Node列表也不行,这就限制了它的使用场景。 基于上面的问题,kubernetes还提供了一种亲和性调度(Affinity)。 它在NodeSelec 阅读全文
摘要:
Pod调度 在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。 但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢? 这就要求了解kubernetes对Pod的调度规则 阅读全文