Kubernetes 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。随着在云基础设施和技术上运营的企业的兴起,这种容器管理系统的受欢迎程度飙升。

让我们深入了解一下为什么Kubernetes现在如此火热。

Kubernetes 的崛起

容器是由应用程序代码、运行时、系统库和运行应用程序所需的其他设置组成的软件包。自20世纪80年代以来,容器一直是Linux的重要组成部分。然而,在 Docker 以其广泛的容器格式和工具出现之后,容器化已经成为一件事。

早些时候,RightScale 的一份题为“State of the Cloud”的报告称,容器采用率从 2018 年的 49% 增加到 2019 年的 57%。包括 Microsoft Azure、Google Cloud 和亚马逊 AWS 在内的许多云提供商也推出了容器。

容器运行复杂且关键的企业应用程序,并且数量的增加需要管理系统。

Kubernetes 由 Google 推出,目前由云原生计算基金会 (CNCF) 维护,  可以根据目标部署在非常不同的场景中:

  • 内部:公司可以将其数据中心转换为 Kubernetes 集群,以充分利用可用资源。
  • 云:借助 Kubernetes,组织可以创建无限数量的虚拟机。
  • 混合:当本地服务器已满时,Kubernetes 在云上创建虚拟机,以更好地分配计算资源。
  • 多云:Kubernetes 帮助公司避免供应商锁定并最大限度地降低风险。

Kubernetes 已成为容器管理系统的事实标准,因为它具有以下几个优点:

  • 它提供了跨集群中许多服务器的轻松容器扩展。autoscaler 服务可以将 Kubernetes 实例或 Pod 复制到不同的节点,从而最大限度地利用资源。
  • 该软件可以很容易地在不同类型的环境之间移植。
  • Kubernetes 提供高容错集群,有助于项目的稳定性和可靠性。
  • 它具有内置的数据加密、漏洞扫描和其他增强其安全性的功能。
  • 使用 Kubernetes,开发人员可以维护副本集。无需复制整个应用程序,使项目更具弹性并具有最大的响应能力和正常运行时间。

流行的 Kubernetes 用例包括:

Pokemon Go:由 Niantic Inc. 开发,这款热门游戏每天的下载量超过 5 亿次,活跃用户高达 2000 万。Pokemon Go 的母公司并没有为这种流量做好准备。最终,以 Kubernetes 支持的 Google Container Engine 的形式找到了解决方案。

Airbnb:当 Airbnb 决定从单体架构过渡到微服务架构时,团队需要横向扩展持续交付,并让公司的 1000 名工程师可以使用它来添加新服务。Kubernetes 帮助 Airbnb 支持工程师同时配置和部署 250 个关键服务。

纽约时报:目前,大多数纽约时报面向客户的应用程序都在 Kubernetes 上运行。这家媒体公司已经从基于票证的资源请求系统转变为独立推送更新。

开源社区

Kubernetes 是最大的开源社区之一,在 GitHub 上有 75,200 颗星,来自数千个组织的贡献:这是它被评为高于 Docker Swarm 和 Apache Mesos 等竞争对手的原因之一。

CNCF 的赞助带来了独特的福利。CNCF 是 Linux 基金会的一部分,其成员包括微软、谷歌和 AWS。此外,围绕 Kubernetes 的社区也呈指数级增长。RedHat、CoreOS 和 Platform 9 已将 Enterprise Kubernetes 包含在他们的主要产品中,并在这个开源项目上投入了大量资金。

在过去几年中,Kubernetes 每三个月发布一次主要版本。新功能使开发人员在运行各种工作负载时拥有更大的灵活性。

Kubernetes 和混合云

随着越来越多的企业采用混合云战略,出现了一些挑战,包括使用哪些技术、如何操作和管理资源以及应用程序部署。

Kubernetes 也是混合云的理想选择,因为

  • 它在本地和公共云中提供一致性。
  • Kubernetes 允许用户根据业务需求部署应用程序。
  • 它还提供自动扩展应用程序的能力,从而更好地利用底层基础设施。
  • Kubernetes 跨混合架构自动部署容器化工作负载,允许组织在不同位置的服务器上部署和运行容器。
  • 如果需要,开发人员可以将额外的集群添加到他们现有的基础设施中。这减少了应用程序停机时间并提高了整体性能。

根据IBM的说法,该公司云战略的核心是“了解客户需要一种统一且流线型的方式来创建模块化应用程序服务、改造和现代化传统以及管理所有服务,无论这些工作负载位于何处”。为了实现这一点,所有服务都需要进行分类、保护和管理,这只有通过统一的云计算方法才能实现。这只有在策略基于开源的情况下才有可能,使 Kubernetes 成为最佳选择。

“所以 Kubernetes 归根结底是一个编排层。它消除了管理的复杂性,消除了在大型物理资源集群中进行操作的成本。我认为 CIO 级别的价值如下——今天平均 70% 的总成本和人员都在维护你所拥有的东西,30% 是新的。这是粗略的经验法则。像 Kubernetes 这样的技术已经走到了我们想要去的地方,可以把它翻到 30%-70%,这意味着你只需要花 30% 来维护你拥有的东西,然后你就可以花 70% 来做创新IBM 首席执行官 Arvind Krishna 在接受采访时说,这将使您的最终客户更快乐,让您的业务更快乐。

总结

随着金融、教育技术和传统企业 IT 等关键任务领域的用例,Kubernetes 越来越受欢迎。然而,Kubernetes 面临着一些挑战。大规模开发和运行分布式框架的极其复杂的性质是其主要挑战之一。尽管如此,专家们认为 Kubernetes 将成为管理容器、虚拟机和其他现代应用程序的“通用控制平面”。

相关文章

  • 如何在 Ubuntu 20.04 上安装 Kubernetes – Kubeadm 和 Minikube  https://www.linuxmi.com/kubernetes-kubeadm-minikube-ubuntu.html
  • 声明式与命令式 Kubernetes 对象管理 https://www.linuxmi.com/kubernetes-declarative-vs-imperative.html
  • 7 款用于 DevOps 的 Kubernetes 管理软件 https://www.linuxmi.com/7-devops-kubernetes.html

发表评论