• 博客访问: 806948
  • 博文数量: 239
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-05 14:37
  • 认证徽章:
个人简介

走路 行心 修缘(需要交流的请加我的QQ 273936024)

文章分类

全部博文(239)

文章存档

2018年(49)

2017年(63)

2016年(39)

2015年(20)

2014年(29)

2013年(39)

分类: Docker/K8

2018-05-13 15:54:58

一: Deployment/RC: 全自动调度
Deployment或RC的主要功能之一就是自动部署一个容器应用的多份副本,以及持续监控副本的数量,在集群内始终维持用户指定的副本数量。

二: NodeSelector: 定向调度
可以通过Node的标签(Label)和Pod的nodeSelector属性匹配,将Pod调度到指定节点。

三: NodeAffinity: 亲和性调度
用于替换NodeSelector的全新调度策略,目前有两种节点亲和性表达。
1. RequiredDuringSchedulingIgnoredDuringExecution: 必须满足指定的规则才可以调度Pod到Node上,相当于硬限制。
2. PreferredDuringSchedulingIgnoredDuringExecution: 强调优先满足指定规则,调度器会尝试调度Pod到Node上,但并不强求,相当于软限制。多个优先级规则还可以设置权重值,以定义执行的先后顺序。

如果同时定义了nodeSelector和nodeAffinity,那么必须两个条件都得到满足,Pod才能最终运行在指定的Node上。

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

五: Taints和Tolerations(污点和容忍)
Taint需要和Toleration配合使用,让Pod避开那些不适合的Node. 在Node上设置一个或多个Taint之后,除非Pod明确生命能够容忍这些“污点”,否则无法在这些Node上运行。Toleration是Pod的属性,让Pod能够运行在标注了Taint的Node上。

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

七: Job批处理调度
1.Job Template Expansion模式:一个Job对象对应一个待处理的Work item,有几个Work item就产生几个独立的Job,通常适合Work item 数量少,每个Work item处理的数据量比较大的场景。

2.Queue with Pod Per Work Item模式:采用一个任务队列存放Work item,一个Job对象作为消费者去完成这些Work item,在这种模式下,Job会启动N个Pod,每个Pod对应一个Work item.

3.Queue with Variable Pod Count 模式:也是采用一个任务队列存放Work item,一个Job对象作为消费者去完成这些Work item,但与上面的模式不同,Job启动的Pod数量是可变的。

八: Cronjob: 定时任务
类似于Linux Cron的定时任务Cron Job.

九: 自定义调度
阅读(40) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册