【赵渝强老师】Kubernetes中的控制器

2024-09-19 14:52:14 浏览数 (4)

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

  视频讲解如下:

视频内容

一、为什么需要控制器?

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

试想一下以下的两种场景:

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

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

二、Kubernetes的控制器类型

  Kubernetes提供的主要控制器类型以及它们的作用,如下表所示。而最常用的控制器是Deployment。

0 人点赞