Deployment或RC:全自动调度

NodeSelector:定向调度

NodeAffinity:Node亲和性调度

PodAffinity:pod亲和与互斥调度策略

Taints和Tolerations(污点和容忍)

Pod Priority Preemption: Pod优先级调度

DaemonSet: 在每个Node上都调度一个Pod

statefulSet:面向有状态的服务调度

RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的。而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。


StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序.在StatefulSet中,Pod名字称为网络标识(hostname),还必须要用到共享存储。

在Deployment中,与之对应的服务是service,而在StatefulSet中与之对应的headless service,headless service,即无头服务.与service的区别就是它没有Cluster IP,解析它的名称时将返回该Headless Service对应的全部Pod的Endpoint列表。

Job:批处理调度

CronJob:定时任务

自定义调度器