本文已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已不正确。

Fujitsu 云负载控制在企业中使用 Kubernetes

今年早些时候,富士通公开发布了其基于 Kubernetes 的产品 Fujitsu ServerView Cloud Load Control (CLC)。有些人可能会感到惊讶,因为富士通的声誉并不一定与软件开发有关,而是与硬件制造和 IT 服务有关。作为 Linux 基金会的长期成员,以及开放容器倡议和云原生计算基金会的创始成员,富士通不仅构建软件,还致力于开源软件,并为包括 Kubernetes 在内的多个项目做出贡献。但我们不仅相信 Kubernetes 是一个开源项目,我们还选择它作为我们产品的核心,因为它在功能集、资源需求和复杂性之间提供了最佳平衡,以大规模运行分布式应用程序。

今天,我们想带您进行一次简短的旅程,解释我们产品的背景,为什么我们认为 Kubernetes 非常适合您的客户,以及 Cloud Load Control 在此基础上提供的价值。很久很久以前...

在 2014 年年中,我们研究了企业在数字化背景下面临的挑战,传统企业发现越来越多的来自 IT 行业的竞争对手正在进入他们市场的核心。富士通的很大一部分客户都是这样的传统企业,因此我们考虑如何帮助他们,并提出了三个基本原则

  • 将应用程序与基础设施分离 - 专注于客户价值所在:应用程序。
  • 分解应用程序 - 从更小的、松散耦合的部分构建应用程序。根据业务需求启用这些部分的重新配置。同时鼓励低成本实验创新。
  • 自动化一切 - 通过引入高度自动化来应对前两点日益增长的复杂性。

我们发现 Linux 容器本身涵盖了第一点,并触及了第二点。但是当时几乎没有支持创建分布式应用程序并以自动管理的方式运行它们。我们发现 Kubernetes 是缺失的部分。不是免费的午餐

Kubernetes 在管理容器化工作负载方面的一般方法令人信服,但当我们以客户的眼光看待它时,我们意识到这不是免费的午餐。许多客户是中小型公司,他们的核心业务通常受到严格的数据保护法规的约束。我们确定的前三项要求是

  • 本地部署(可以选择混合场景)
  • 作为(更大)IT 基础设施一部分的高效运营
  • 企业级支持,可能在全球范围内提供

我们在考虑这些要求的情况下创建了 Cloud Load Control。它基本上是一个针对本地使用的 Kubernetes 发行版,主要关注容器基础设施的运营方面。我们致力于与社区合作,并将所有相关的更改和扩展向上游贡献给 Kubernetes 项目。本地部署

正如 Kubernetes 核心开发人员 Tim Hockin 经常在他的演讲中说的那样,Kubernetes 是“一个分为两部分的故事”,设置 Kubernetes 集群不是容易的部分,并且由于基础设施的差异,通常具有挑战性。在 Kubernetes 的生产就绪部署方面尤其如此。在公共云领域,客户可以选择像 Google Container Engine (GKE) 这样的服务来完成这项工作。由于客户在本地选择较少,他们通常必须自己考虑部署。

Cloud Load Control 解决了这些问题。它使客户能够在自己的基础设施上可靠且轻松地配置生产级的 Kubernetes 集群,具有以下优势

  • 经过验证的设置过程,降低了设置集群时出现问题的风险
  • 将配置时间缩短到几分钟
  • 可重复的过程,特别适用于大型、多租户环境

Cloud Load Control 为一系列平台提供这些好处,从 Cloud Load Control 的第一个版本中选定的 OpenStack 发行版开始,并根据客户需求逐步添加更多平台。我们特别兴奋的是,可以删除虚拟化层,并在长期内在富士通服务器上支持 Kubernetes 的裸机。通过消除一层复杂性,运行系统的总成本将降低,而缺失的虚拟机管理程序将提高性能。

现在,我们正在贡献一个通用提供程序,以在 OpenStack 上设置 Kubernetes。作为推动多平台支持的下一步,基于 Docker 的 Kubernetes 部署似乎至关重要。我们计划为该功能做出贡献,以确保它将在 Kubernetes 1.3 中成为 Beta 版。高效运营

降低运营成本是任何提供 IT 基础设施的组织的目标。这可以通过提高运营效率和帮助运营商完成工作来实现。考虑到大规模的容器基础设施,我们发现区分两种类型的运营非常重要

  • 平台导向,与整个基础设施相关,通常包括各种系统,其中之一可能是 Kubernetes。
  • 应用程序导向,更侧重于部署在 Kubernetes 上的单个或少量应用程序。

Kubernetes 在应用程序导向的部分已经非常出色。创建 Cloud Load Control 是为了帮助平台导向的运营商有效地管理 Kubernetes 作为整个基础设施的一部分,并使他们轻松执行与他们相关的 Kubernetes 任务。

Cloud Load Control 的第一个版本提供了一个集成在 OpenStack Horizon 仪表板中的用户界面,使平台运维人员能够创建和管理他们的 Kubernetes 集群。

集群被视为 OpenStack 的一等公民。它们的创建就像创建虚拟机一样简单。运营商不需要学习新的系统或配置方法,并且自助服务方法使大型组织能够快速向其租户提供 Kubernetes 基础设施。

直观的 UI 对于简化操作至关重要。这就是为什么我们大力贡献给Kubernetes 仪表板项目并将其随 Cloud Load Control 一起发布的原因。特别是对于那些不熟悉 Kubernetes CLI 的操作员来说,因为他们还必须关注其他系统,所以一个出色的 UI 非常适合完成典型的操作任务,例如检查系统的运行状况或部署新应用程序。

监控至关重要。使用仪表板,可以深入了解集群级别。为了确保 OpenStack 运营商对其平台有深入的了解,我们将很快添加与 Monasca 的集成,Monasca 是 OpenStack 的监控即服务项目,因此可以从单个访问点分析 Kubernetes 的指标以及 OpenStack 的指标。质量和企业级支持

作为一家日本公司,质量和客户关注是我们所提供的每种产品和服务的首要任务。这才是 Cloud Cloud Control 的真正价值所在:它提供了特定版本的开源软件,该软件经过了广泛的测试和强化,以确保在特定平台上稳定运行。

认识到容器技术和 Kubernetes 对于许多企业来说是新领域,专家协助是建立和运行生产级容器基础设施的关键。Cloud Load Control 附带利用富士通久经考验的支持结构的支持服务。这使得还可以在同一产品中为在世界不同地区(如欧洲和日本)运营 Kubernetes 的客户提供支持。结论

2014 年似乎是很久以前的事了,我们相信选择 Kubernetes 是正确的。它是从头开始构建的,旨在实现基于容器的分布式应用程序的创建,并且最能支持此用例。

通过 Cloud Load Control,我们很高兴能够帮助企业在生产环境中运行 Kubernetes,并帮助他们的运营商有效地使用它,以便 DevOps 团队可以在此基础上构建出色的应用程序。