gpt4 book ai didi

Kubernetes 与 CloudFoundry

转载 作者:行者123 更新时间:2023-12-03 04:43:46 27 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

2年前关闭。



Improve this question




CloudFoundry/Diego 的下一个版本将为 Docker 容器提供原生支持,这些容器将在多个主机之间进行编排 [ link ]。
这听起来与 Kubernetes 非常相似。

当然,Kubernetes 试图解决的问题更像是一个通用的,其中 CloudFoundry 更专注于应用程序开发。然而,对我来说,听起来两者都朝着相似的方向发展,而 CloudFoundry 在简单的编排之上添加了更多的功能。

所以我想知道 Kubernetes 会比 CloudFoundry 增加更多值(value)的用例吗?

最佳答案

作为 CloudFoundry(过去)和 Kubernetes(现在)的提交者,我可能是唯一有资格回答这个问题的人。

类PaaS

我喜欢将 CloudFoundry 称为“应用程序 PaaS”,将 Kubernetes 称为“容器 PaaS”,但鉴于这两个项目随着时间的推移而变化以在同一市场竞争,这种区别相当微妙且具有流动性。

两者之间的区别在于 CF 有一个暂存层,它接受一个(12 因子)用户应用程序(例如 jar 或 gem)和一个 Heroku 风格的构建包(例如 Java+Tomcat 或 Ruby)并生成一个 droplet(类似于Docker 镜像)。 CF 不会向用户公开容器化接口(interface),但 Kubernetes 会。

观众

CloudFoundry 的主要受众是希望使用 Heroku 风格的构建包部署 12 因素无状态应用程序的企业应用程序开发人员。

Kubernetes 的受众范围更广一些,包括无状态应用程序和提供自己容器的有状态服务开发人员。

这种区别在 future 可能会发生变化:

  • CloudFoundry 可以开始接受 docker 镜像 ( Lattice accepts Docker images )。
  • Kubernetes 可以添加一个图像生成层 (OpenShift does something like this)。

  • 功能比较

    随着两个项目的成熟和竞争,它们的相同点和不同点都会发生变化。因此,请拿以下特征与一粒盐进行比较。

    CF 和 K8s 有许多相似的特性,比如容器化、命名空间、身份验证、

    Kubernetes竞争优势:
  • 对共享网络堆栈的容器 pod 进行分组和缩放,而不仅仅是独立缩放
  • 自带容器
  • 有状态持久层
  • 更大、更活跃的 OSS 社区
  • 具有可替换组件和第 3 方插件的可扩展架构
  • 免费网络图形用户界面

  • CloudFoundry 竞争优势:
  • 成熟的身份验证、用户分组和 Multi-Tenancy 支持 [x]
  • 自带应用
  • 包含负载均衡器
  • 由 BOSH [x] 部署、扩展和保持事件状态
  • 强大的日志记录和指标聚合 [x]
  • 企业 Web GUI [x]

  • [x] 这些功能不属于 Diego 或包含在 Lattice 中。

    部署

    CloudFoundry 的竞争优势之一是它拥有成熟的部署引擎 BOSH,它支持扩展、复活和监控核心 CF 组件等功能。 BOSH 还通过可插拔的云提供商抽象支持许多 IaaS 层。不幸的是,BOSH 的学习曲线和部署配置管理是噩梦般的。 (作为 BOSH 提交者,我想我可以准确地说出来。)

    Kubernetes 的部署抽象仍处于起步阶段。核心存储库中提供了多个目标环境,但并非所有目标环境都能正常工作、经过良好测试或得到主要开发人员的支持。这主要是一个成熟的事情。人们可能期望这会随着时间的推移而改进并增加抽象。例如, Kubernetes on DCOS允许将 Kubernetes 部署到现有 DCOS使用单个命令进行集群。

    历史背景

    Diego 是对 CF 的 Droplet Execution Agent 的重写。它最初是在 Kubernetes 宣布之前开发的,随着竞争格局的发展,它具有更多的功能范围。它最初的目标是生成液滴(用户应用程序 + CF buildpack)并在 Warden(在 Go 中重写时重命名为 Garden)容器中运行它们。自成立以来,它也被重新包装为 Lattice ,它有点像 CloudFoundry-lite(虽然这个名字是由 existing project 取的)。出于这个原因,莱迪思有点像玩具,因为它故意减少了用户受众和范围,明确遗漏了使其“企业就绪”的功能。 CF 已经提供的功能。这部分是因为 Lattice 用于测试核心组件,没有来自更复杂的 CF 的一些开销,但您也可以在内部高信任环境中使用 Lattice,其中安全性和 Multi-Tenancy 不是那么重要.

    还值得一提的是,CloudFoundry 和 Warden(它的容器引擎)也比 Docker 早了几年。

    另一方面,Kubernetes 是一个相对较新的项目,由 Google 基于多年来与 BORG 和 Omega 的容器使用而开发。 Kubernetes 可以被认为是谷歌的第三代容器编排,就像 Diego 是 Pivotal/VMware 的第三代容器编排一样(v1 在 VMware 编写;v2 在 VMware 与 Pivotal Labs 的帮助下;v3 在 Pivotal 接管项目后) .

    关于Kubernetes 与 CloudFoundry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047563/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com