管理pod 我的理解是就是将某项服务部署到对应的node上的方式。
1.POD 如同一个豆荚将所需要的相关容器服务都放在里面进行管理。缺点不能动态的去增加或减少。
2.RC replication 正如它的名字一样,它可以在运行的时候指定一定数量的副本。保证Pod总是可用。如果实际Pod数量比指定的多就结束掉多余的,如果实际数量比指定的少就启动缺少的。当Pod失败、被删除或被终结时RC会自动创建新的Pod来保证副本数量。
k8s是一个高速发展的项目,在新的版本中官方推荐使用Replica Set和Deployment来代替RC
3.RS. RC只支持基于等式的selector(env=dev或environment!=qa)但Replica Set还支持新的基于集合的selector(version in (v1.0, v2.0)或env notin (dev, qa)),这对复杂的运维管理带来很大方便使用Deployment升级Pod只需要定义Pod的最终状态,k8s会为你执行必要的操作,虽然能够使用命令kubectl rolling-update完成升级,但它是在客户端与服务端多次交互控制RC完成的,所以REST API中并没有rolling-update的接口,这为定制自己的管理系统带来了一些麻烦。 Deployment拥有更加灵活强大的升级、回滚功能
Replica Set目前与RC的区别只是支持的selector不同,后续肯定会加入更多功能。Deployment使用了Replica Set,是更高一层的概念。除非需要自定义升级功能或根本不需要升级Pod,所以推荐使用Deployment而不直接使用Replica Set。ps…不懂这个啊
4.deployment ps 我现在用的最多的一种
RC的功能即保持集羣中始终运行着指定个数的Pod。rc的优化版本先这样认为。后面这块进行修改
58.1.4. Job:批处理调度
kubernetes从1.2版本开始支持批处理类型的应用,可以通过kubernetes Job资源对象来定义并启动一个批处理任务。批处理任务通常并行(或串行)启动多个计算进程去处理一批工作项(work item),处理完后,整个批处理任务结束。不需要很长时间运行的一半后作为job.