翻译|布加迪规划|YunZhaoKubernetes是当今最著名和最受欢迎的容器编排引擎。Kubernetes处于云原生计算的中心,因为它是开源的并且拥有快速发展的生态系统。如果我们看一下过去几年它的发展和采用趋势,尤其是在云原生世界,它不仅仅是一个容器编排工具。它已经不仅仅是一个容器编排引擎,现在是下一代云原生生态系统的主要构建块。开发人员正在试验Kubernetes不仅仅是一个容器管理器。本文讨论了开源社区中的几个已建立的企业模式和流行用例。1.Kubernetes作为无服务器计算的服务器有Kubernetes经验的企业已经认识到Kubernetes作为“无服务器服务器”平台的全部潜力。Serverless现在因为Kubernetes而被重新定义,最近CNCF(Kubernetes的管理组织)推出了Knative,将Kubernetes抽象为Serverless计算。Knative的核心由三个模块组成:1.构建——从源代码构建图像。2.Serving——在Kubernetes集群上部署函数(镜像构建),映射扩展和路由等。3.Eventing——使用serving映射事件和消息摄取。与Kubernetes的kubectl一样,kn是终端上的一个新命令,用于在Kubernetes上启用功能即服务(FaaS)。它使用容器镜像作为构建块并处理Kubernetes上的所有内容。Kubernetes作为无服务器平台正在加速其在企业界的采用;然而,竞争产品(如AWSLambda、CloudFunctions和AzureFunctions)仍然依赖于供应商锁定(即,它们仅在部署在各自的云上时才有效)。Kubernetes解决了一些现有的挑战,例如工件大小限制、合规性、数据主权和企业内的细粒度控制。ServerlessKnativeonKubernetes与传统Kubernetes的主要架构差异来自于额外的抽象层。作为无服务器,Kubernetes消除了重复的配置和构建任务。图1.Kubernetes上的无服务器(Kubernetes集群概览图)Knative作为无服务器和事件驱动的平台Knative是Kubernetes生态系统的新成员,它有望颠覆用于构建基于事件的架构的无服务器选项。“缩放到零”、“从零扩展”和在集群内构建等特性使Kubernetes成为一个全面的无服务器平台。2.Kubernetes作为大数据和机器学习平台Kubernetes被视为数据科学和机器学习技术栈中的大数据处理和状态数据服务平台,被广泛采用。它抽象底层基础设施,优化弹性计算的配置,在底层结合GPU和CPU。Kubernetes非常适合机器学习,因为它具有机器学习所需的所有调度和可扩展性。与传统数据集群环境相比,容器与Kubernetes的结合在构建大数据软件时具有强大和灵活的特点,而传统数据集群环境面临着分布式集群管理和计算规模开销的复杂性。Kubernetes利用按需GPU和CPU计算来改进大数据和机器学习处理。Kubernetes可以提供GPU加速计算和网络解决方案,以在边缘运行机器学习和NLP处理。运行在协处理器上的Kubernetes正在成为未来计算的重要组成部分。它的动态资源利用特性有利于数据科学工作负载,而训练模型或特征工程需求可以非常快速地增长和收缩。图2基于Kubernetes的大数据和机器学习集群机器学习处理的按需可扩展协处理器KubeFlow、Spark、Hadoop、PyTorch、TensorFlow等框架现在都在采用容器。有状态MLOps广泛使用容器和Kubernetes来启用多个集群、处理大型训练和测试集以及存储学习模型。为了简化数据建模框架的处理,一个选择是Kubeflow,这是一种用于Kubernetes的开源机器学习工具包,可以运行声明式可配置的作业。Kubeflow抽象和编排在Kubernetes上运行的复杂大数据和机器学习管道。机器学习管道底层的Kubernetes是MLOps的支柱。它使数据科学家和机器学习工程师可以轻松地利用混合云(公共云或本地环境)来实现弹性和可扩展性。Kubernetes可以构建一个中立的大数据平台,避免云管理服务被供应商锁定。3.Kubernetes作为企业混合和多云集群的联盟Kubernetes与基础设施无关,企业用它来实现复杂的基于容器的集群联邦。Kubernetes有助于将混合或多云环境合并到一个具有明显优势的平台中。托管服务并不能解决所有问题。在公共云和私有主权云的便利性之间总会有一个权衡。Kubernetes被认为是这里的答案,因为它支持多云访问并跨基于行业标准的API(Kubernetes接口)无缝交付应用程序。它通过将私有云和公共云集成抽象到一个联合平台中,帮助企业实现对Kubernetes的监管合规。企业使用Kubernetes在混合和多云集群中提供灵活性,从而避免供应商锁定。看看当前基于云的架构模型如何采用Kubernetes将会很有趣。基于云的企业以及开源社区已经意识到Kubernetes不仅仅是一个容器管理工具。现在很清楚,Kubernetes是一个完整的平台,用于管理在混合云或多云模型上运行的应用程序的生命周期。Kubernetes被广泛用作平台即服务(PaaS)。但是,在早期,Kubernetes官方文档提到它是容器即服务(CaaS)。最近,观察到Kubernetes的采用模式和使用远远超出了CaaS,因此更新的文档将Kubernetes称为下一代PaaS。Kubernetes是PaaS的新时代,这意味着:Kubernetes与超融合基础架构(HCI)相结合是一种新的私有云或混合云替代方案。它使企业能够完全控制服务并遵守法规。Kubernetes使企业能够实现单一的抽象和简化平台,用于在混合云和多云环境中运行SRE、DevOps和DevSecOps。图3Kubernetes作为新一代PaaSHybrid和多云容器联邦作为新一代PaaSIV。结论大型组织通常不愿意将平台的控制权移交给AWSLambda、AWSFargate或AzureFunctions。Kubernetes已成为事实上的选择,它结合了两全其美:控制和原生稳健性,以及来自声明式容器化生态系统的云原生计算弹性、可扩展性和弹性。Kubernetes与Helm(IaC)、Grafana(遥测仪表板和警报)和Prometheus(指标获取器)等开源工具相结合,使其成为支持DevOps、SRE友好的企业生态系统的完美组成部分。数据科学和机器学习公司正在加速采用Kubernetes作为大数据处理平台。最近,机器学习和大数据框架正在变得容器化,使Kubernetes成为底层数据集群和建模生态系统的首选。热门功能还包括弹性GPU和CPU的Kubernetes抽象,以及按需可扩展性和状态性。像Knative这样的Kubernetes抽象框架将Kubernetes提升到了另一个层次。Kubernetes正在成为无服务器架构的新服务器,而且势头强劲。它提供AWSFargate和OpenShift的开源替代品。Kubernetes被赋予了各种新角色,而不仅仅是“仅仅”是一个容器编排工具。原文链接:https://dzone.com/articles/kubernetes-beyond-container-orchestration
