Kubernetes 和 Service Fabric 的区别

Difference between Kubernetes and Service Fabric

我在 Kubernetes 上工作过,目前正在阅读有关 Service Fabric 的内容,我知道 Service Fabric 提供微服务框架模型,如有状态、无状态和 actor,但除此之外,它还提供 GuestExecutablesContainers 作为好吧,这就是 Kubernetes 也做的 manage/orchestrate 容器。任何人都可以解释两者之间的详细区别吗?

您可以在此项目中看到 paolosalvatori/service-fabric-acs-kubernetes-multi-container-app在 Service Fabric 和 Kubernetes 中实现的相同容器。

他们的 "service"(用于外部入口访问)不同,Kubernetes 更完整和多样化:参见 Services

现实是:有"two slightly different offering"因为市场压力
Microsoft Azure platform,最初于 2010 年发布,已经实现了自己的 Microsoft Azure Fabric Controller,以确保服务和环境不会在 Microsoft 数据中心内的一个或多个服务器发生故障时发生故障 ,同时也提供了内存分配、负载均衡等用户Web应用的管理。

但为了吸引其他客户使用自己的 Microsoft 数据中心,他们不得不适应 Kubernetes, released initially in 2014, which is now (2018) either adopted or closely considered by... pretty much everybody (as reported in late December)
(这并不意味着一个 "better" 比另一个
只是 "other" 比第一个多 "visible" ;) )

所以它不是关于 "a detailed difference between the two",而是关于在 Microsoft 数据中心集成基于 Kubernetes 的系统的能力。

这是符合要求的(来源:detailed here) with Microsoft continued its unprecedented shift toward an open (read: non-proprietary) staging platform for Azure (with Deis)。
还有 Kubernetes orchestrator is available on Microsoft's Azure Container Service since February 2017.


您可以在已部署应用程序的架构中看到其他差异:

服务结构:

比。 Kubernetes:


thieme mentions the article "Service Fabric and Kubernetes comparison, part 1 – Distributed Systems Architecture", from Marcin Kosieradzki.

两者不同。 Kubernetes 管理 rkt 或其他容器。

Service Fabric 不用于管理容器。如果它管理一些,那并不能使它成为它的目的。这并不能使其与 Kubernetes 进行比较。

例如:当一个 Pod 死亡时,Kubernetes 会立即将它放到其他节点上。管理容器的 SF 部分不执行此操作,它由 Service Fabric 的其他某个区域完成。和外部容器。并且在设计时并未考虑容器。