头图

  Kubernetes通过创建控制器来管理Pod的生命周期。为了满足不同需求的场景,Kubernetes开发了 不同的控制器,如:Deployment、DaemonSet、Job、CronJob、StatefuleSet等。

  视频讲解如下:
https://www.bilibili.com/video/BV1BS411A7Nx/?aid=1905929532&c...

一、为什么需要控制器?

  Pod在Kubernetes中是存在生命周期的。因此Pod作为最小的部署单元,就要求有一种方式去操作和管理它的状态和生命周期。这就需要用到Kubernetes提供的控制器了。
试想一下以下的两种场景:

  • 双十一期间用户的访问量剧增,服务器服务承受暴增的请求。
  • Node节点突然发生了宕机,造成运行在上面的Pod不能正常提供服务了。

  如何解决这样的问题?当然作为开发人员来说,当然可以手动增加Node节点以启动更多的Pod来承受业务访问量的暴增;或者通过手动重启Node节点达到重新启动Pod的目的。对于一个大型而又复杂的系统来说,采用人工手动的方式去解决这样的问题视乎不太现实。但有了Kubernetes的控制器以后,就可以非常方便地帮助我们来解决这样的问题。当Pod的个数不够了,控制器会自动增加Pod的副本以承受客户端的请求;当Pod出现了故障,控制器也会自动在其他合适的Node节点重新启动新的Pod。

二、Kubernetes的控制器类型

  Kubernetes提供的主要控制器类型以及它们的作用,如下表所示。而最常用的控制器是Deployment。
在这里插入图片描述


赵渝强老师
30 声望10 粉丝

20年以上的IT行业从业经历,清华大学计算机软件工程专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问;曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大...