此文为学习《Kubernetes权威指南》的相关笔记
学习笔记:
Pod是可以创建和管理Kubernetes计算的最小可部署单元,在初步学习Pod的组成和创建后,紧接着将要探寻的就是,如何对Pod进行批量的生成和调度,生成Pod的上层抽象,在K8s中,这项任务交由各类副本控制器进行。
在实际部署中,很少直接去定义一个Pod,而是使用诸如Repliction Controller、ReplicaSet、Deployment、Job等副本控制器去创建,这些控制器根据目标功能的不同担任不同的作用,但都具有对一组Pod副本的创建、调度及生命周期的自动控制功能。后续对于Pod的学习,将集中在这几类副本控制器上,包括他们的功能、使用场景和创建方法。
最早的K8s中只有Replication Controller(CA)一种副本控制器,他通过标签选择器(Label Selector)这个松耦合关联关系控制目标Pod实例的创建和销毁,而随后出现的ReplicaSet(RS)在RC的基本功能之上增加了集合式的标签选择器,使得RS对于Pod副本的管理具有更强的灵活性,而Deployment的出现可以说是对上述两种副本控制器的一种升级,他在内部使用RS来实现,也就是说创建一个Deployment会自动生成一个他下属的RS,相比RC,Deployment最大提升在于可以随时知道当前Pod的部署进度。
阿里云大学云原生公开课上,对Deployment给出的介绍如下: