这篇文章已超过一年。较旧的文章可能包含过时的内容。请检查页面信息自发布以来是否已发生变化或不再准确。
Fujitsu Cloud Load Control 在企业中应用 Kubernetes
今年早些时候,富士通发布了其基于 Kubernetes 的产品 Fujitsu ServerViewCloud Load Control (CLC)。一些人可能会感到惊讶,因为富士通的声誉并不一定与软件开发相关,而更多与硬件制造和 IT 服务有关。作为 Linux 基金会的长期成员以及开放容器计划 (Open Container Initiative) 和云原生计算基金会 (Cloud Native Computing Foundation) 的创始成员,富士通不仅构建软件,还致力于开源软件,并为包括 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 为多种平台提供了这些优势,最初版本从选定的 OpenStack 发行版开始,随后将根据客户需求陆续增加更多平台。我们尤其对长期在富士通服务器上移除虚拟化层并支持 Kubernetes 裸金属部署感到兴奋。通过移除一个复杂层,系统运行的总成本将会降低,并且没有 hypervisor 会提高性能。
目前,我们正在贡献一个通用提供者来在 OpenStack 上设置 Kubernetes。作为推动多平台支持的下一步,基于 Docker 的 Kubernetes 部署似乎至关重要。我们计划为这项特性贡献力量,以确保它在 Kubernetes 1.3 版本中达到 Beta 阶段。高效运维
降低运营成本是任何提供 IT 基础设施的组织的目标。这可以通过提高运营效率和帮助操作人员完成工作来实现。考虑到大规模容器基础设施,我们发现区分两种类型的操作非常重要:
- 平台导向型,与整体基础设施相关,通常包含各种系统,其中可能包括 Kubernetes。
- 应用导向型,更侧重于部署在 Kubernetes 上的单个或少量应用。
Kubernetes 在应用导向型方面已经做得非常出色。Cloud Load Control 的创建是为了帮助平台导向型的操作人员高效地管理作为整体基础设施一部分的 Kubernetes,并使其轻松执行与他们相关的 Kubernetes 任务。
Cloud Load Control 的第一个版本提供了一个集成在 OpenStack Horizon Dashboard 中的用户界面,使平台运维人员能够创建和管理他们的 Kubernetes 集群。
集群被视为 OpenStack 的一等公民。它们的创建就像创建虚拟机一样简单。操作人员无需学习新的系统或供应方法,并且自服务方法使大型组织能够快速为其租户提供 Kubernetes 基础设施。
直观的用户界面对于简化操作至关重要。这就是为什么我们大力贡献于Kubernetes Dashboard 项目并将其包含在 Cloud Load Control 中。特别是对于那些不熟悉 Kubernetes CLI 的操作人员(因为他们还需要关注其他系统),一个出色的用户界面非常适合完成典型的运维任务,例如检查系统健康状况或部署新应用。
监控至关重要。通过 Dashboard,可以获取集群级别的洞察。为了确保 OpenStack 操作人员对其平台有深入了解,我们很快将集成 OpenStack 的监控即服务项目Monasca,以便可以从单一访问点分析 Kubernetes 指标与 OpenStack 指标。质量和企业级支持
作为一家日本公司,质量和客户关注是我们交付的每一个产品和服务的最高优先级。这就是 Cloud Load Control 的实际价值所在:它提供了一个经过密集测试和强化的特定版本的开源软件,以确保在特定平台上稳定运行。
认识到容器技术和 Kubernetes 对许多企业来说是新的领域,专家协助是设置和运行生产级容器基础设施的关键。Cloud Load Control 提供了一个利用富士通成熟支持结构的支持服务。这使得在世界不同地区(如欧洲和日本)运行 Kubernetes 的客户也能获得同一服务的支持。结论
2014 年仿佛已是遥远的年代,我们相信选择 Kubernetes 是正确的。它从头开始构建,旨在实现基于容器的分布式应用的创建,并最能支持这一用例。
借助 Cloud Load Control,我们很高兴能够使企业在生产环境中运行 Kubernetes,并帮助他们的操作人员高效使用它,从而使 DevOps 团队能够在此基础上构建出色的应用。