k8s - 为啥我们有部署时需要 ReplicaSet

Posted

技术标签:

【中文标题】k8s - 为啥我们有部署时需要 ReplicaSet【英文标题】:k8s - Why we need ReplicaSet when we have Deploymentsk8s - 为什么我们有部署时需要 ReplicaSet 【发布时间】:2019-08-21 13:44:57 【问题描述】:

我是 Kubernetes 和微服务的新手,有 2 个对象,Deployments 和 ReplicaSet。

即使阅读了它的文档和其他文章,我也无法理解。

如果我们有Deployments,为什么我们需要ReplicaSet,因为您可以在Deployment 中指定副本集。当我删除 pod 时,新的 pod 将基于副本集生成,就像部署一样。

比如我们只需要ReplicaSet而不需要Deployments的实际用例是什么

【问题讨论】:

这可能会对您有所帮助***.com/a/54526877/5305962 【参考方案1】:

部署工作在 ReplicaSet 对象之上一层。建议对应用服务进行部署。

通过部署,您应该能够进行滚动升级或回滚。您可以将图像从 v1 更新到 v2。

使用 ReplicaSet,您可以定义要运行的副本数量。对于特定的服务。你会运行那么多副本。

【讨论】:

并且在部署下也使用副本集功能来生成 pod。它为此添加了修订控制……它会根据更改创建新的副本集。 但是部署也有replicas参数来控制pod的复制。在哪种情况下我应该选择 ReplicaSet 而不是 Deployment?【参考方案2】:

部署是针对无状态应用的,我们可以通过它来更新我们的应用。 通过复制集,我们无法轻松更新我们的应用程序,更新我们的应用程序还有很多工作要做。

【讨论】:

以上是关于k8s - 为啥我们有部署时需要 ReplicaSet的主要内容,如果未能解决你的问题,请参考以下文章

在k8s中创建redis部署时,退回重启失败的容器

k8s - 为什么我们在部署时需要ReplicaSet

为啥 Elasticsearch 集群只能发现 1 个节点?

K8S简单部署案例

streamsets k8s 部署试用

通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)