我知道部署在它下面使用复制集,有版本控制,在滚动升级/降级期间创建另一个复制集。
我想知道只能使用复制集而不能使用部署的场景是什么。
ReplicaSet的目的是维护一组稳定的复制pod在任何给定的时间运行,它检查需要维护多少pod,并在此基础上创建或删除pod。然后,ReplicaSet通过根据需要创建和删除pod来实现其目的,以达到所需的数量。ReplicaSets可以独立使用。使用ReplicaSet,您可以定义要为特定服务运行的副本数量。你会有那么多副本在运行。
然而部署是副本集的进步。使用部署时,您不必担心管理它们创建的ReplicaSets。部署拥有并管理它们的replicaset。因此,当您需要ReplicaSets时,建议使用deployment。因为副本只关注创建和删除pod。对于应用程序服务和通过部署,您应该能够进行滚动升级或回滚。您可以将映像从v1更新到v2。
参考本SO1、SO2和Replicasets和Deployment的官方文档。
只能使用复制集而不能使用部署的场景是什么
没有这样的常见场景。ReplicaSets是一个较低层次的抽象,用于维护相同image/config版本的无状态pod。当您想要更改映像或pod配置时,通常会创建新的ReplicaSets
,建议使用Deployment
进行此类更改。
就其本身而言,直接使用ReplicaSet
并不是很有用,它更像是一个较低层次的抽象,用于维护具有相同的的副本数量。配置。