当前位置: 首页 > 科技观察

Kubernetes如何支持边缘计算平台

时间:2023-03-14 21:41:11 科技观察

容器编排引擎具有作为边缘解决方案的潜力,但要成为边缘解决方案还有很多问题需要解决。到目前为止,您可能已经听说过Kubernetes如何在传统的本地和云中大规模简化应用程序的部署。但是,将中央数据中心与托管在更靠近最终用户的边缘位置的工作负载相结合的边缘架构呢?Kubernetes也可以支撑边缘计算平台吗?答案是肯定的。尽管Kubernetes具有作为边缘计算解决方案的潜力,但Kubernetes开发人员和用户需要克服一些障碍才能使K8s真正为边缘做好准备。Kubernetes如何帮助边缘计算平台一些观察家认为,Kubernetes已经准备好在边缘环境中托管应用程序。例如,Canonical的AmmarNaqvi写道,Kubernetes是“边缘计算的关键组件”,云原生计算基金会将Kubernetes推广为边缘解决方案。它还赞助了KubeEdge,这是一个完整的开源平台,专门用于基于Kubernetes的边缘部署,去年11月成为CNCF孵化项目。当然,这些组织有点偏颇。Canonical和CNCF对Kubernetes进行了大量投资,如果Kubernetes作为构建边缘计算平台的解决方案变得流行,他们将受益匪浅。尽管如此,他们还是对为什么Kubernetes天生适合边缘提出了一些很好的观点。在他们撰写本文时,Kubernetes提供了一个通用的控制平面,可以与任何类型的底层边缘基础设施一起使用,这意味着它将简化跨各种边缘环境的工作负载的部署和管理。Kubernetes还擅长平衡流量和最小化延迟,这是边缘工作负载的优先事项。而且,通过充当DevOpsCI/CD管道的部署环境,Kubernetes将使开发人员能够轻松地对边缘应用程序进行持续更新。除了对推广Kubernetes有明显兴趣的供应商和开发者之外,有证据表明,更多中立的团体也将Kubernetes视为未来边缘计算平台的重要组成部分。在一份基于对云和数据中心行业的十多位思想领袖和供应商的采访的报告中,Omdia发现超过一半的人认为Kubernetes已部署用于当今的边缘工作负载。根据Omdia的报告:“Kubernetes将成为一种能够管理从云端到边缘的工作负载的技术,提供一个通用的应用程序管理平台。”总之,我们完全有理由相信,Kubernetes将在未来几年成为边缘计算平台中越来越重要的一部分。Kubernetes边缘挑战然而,要使Kubernetes成为管理部署在边缘的应用程序的真正无缝解决方案,开发人员需要应对几个挑战。最大的问题可能是确保中央数据中心和边缘位置之间的低延迟数据传输。在许多方面,快速移动数据是边缘计算面临的最大挑战;应用程序编排是次要问题。而且Kubernetes本身并没有优化数据传输。数据结构可以,但Kubernetes没有以特定方式与它们集成。为确保基于Kubernetes的边缘环境中的低延迟数据移动,构建边缘计算平台的开发人员需要更轻松地使用数据结构解决方案部署Kubernetes。他们可能还需要改进Kubernetes处理内部数据移动的方式,例如,让Kubernetes更容易知道哪些内部流量需要优先处理。目前,Kubernetes很好地解决了如何平衡来自外部端点的传入流量,但不太擅长管理每毫秒计数的内部流量。同样,Kubernetes将受益于对工作负载调度的更大控制。Kubernetes使管理员能够将应用程序分发到各个节点,当所有节点都在一个数据中心内运行时,这种方式运行良好。但是,如果节点分布在多个边缘位置(可能位于中央数据中心)怎么办?在这种情况下,您可能希望能够管理由各个边缘位置托管的应用程序,并平衡它们之间的流量。这在今天的Kubernetes中很复杂,除非每个边缘位置只有一个节点,这是不可能的。那么,Kubernetes需要的是一种功能,允许管理员根据地理上不同的节点池来定义工作负载的放置方式和优先级,而不仅仅是在同一物理位置运行的单个节点。多集群管理仍然是一个挑战。最初,Kubernetes的设计或多或少假设每个组织都会运行一个集群,可能分为多个命名空间。这些年来情况发生了变化,现在大多数Kubernetes供应商都支持多集群管理。但它们做得并不好,管理跨多个集群的工作负载仍然是Kubernetes开发人员的次要关注点。这对于边缘计算平台来说是个问题,组织可能会选择在每个边缘位置运行单独的集群以隔离工作负载并简化真正大规模环境的管理。结论Kubernetes作为边缘计算平台的基础可以提供很多,但它在这方面也有一些明显的缺点。因此一些架构师认为Kubernetes不适合某些可能部署在边缘的工作负载,例如容器化的电信应用程序。另一方面,只要有足够的开发努力,Kubernetes作为边缘计算平台的基础所面临的挑战是可以解决的。也许我们应该问的真正问题不是Kubernetes是否会在边缘工作(目前,答案是它只是作为边缘解决方案),而是开发人员是否愿意付出所需的努力来实现它一个成熟的边缘计算平台。