术语表

Kubernetes

了解 Kubernetes 如何通过可扩展的模型部署、分布式培训和高效资源管理来简化 AI/ML 工作负载。

Kubernetes 通常缩写为 K8s,是一个开源容器编排平台,可自动部署、扩展和管理容器化应用程序。Kubernetes 最初由谷歌开发,现在由云本地计算基金会(CNCF)维护,它为运行有弹性的分布式系统提供了一个强大的框架。在人工智能(AI)机器学习(ML)领域,它已成为管理 ML 模型从训练到在生产环境中部署的整个生命周期的重要工具。

Kubernetes 如何工作

Kubernetes 在机器集群上运行,机器集群可以是物理服务器或虚拟机,也可以是内部或云中的机器。主要组件包括

  • 集群:运行容器化应用程序的一组节点(工作机)。
  • 节点:Kubernetes 集群中的工作机器。每个节点运行一个 Kubelet,它是管理节点并与控制平面通信的代理。
  • Pod:Kubernetes 对象模型中最小、最简单的单元。Pod 代表集群中运行进程的单个实例,可包含一个或多个容器,如Docker容器。
  • 部署:管理一组 Pod 复制,确保其中指定数量的 Pod 始终在运行。它会自动处理更新和回滚。

通过对底层硬件进行抽象,Kubernetes 允许开发人员和 MLOps 工程师定义其应用程序所需的状态,并自动处理故障和扩展需求,以维护该状态。你可以从Kubernetes 的官方文档中了解更多信息。

人工智能和机器学习中的 Kubernetes

Kubernetes 对于机器学习运营 (MLOps)尤为强大,因为它解决了与大规模构建和部署人工智能系统相关的许多难题。它高效管理资源的能力使其成为模型训练等资源密集型任务的理想选择。Kubernetes 可以在多个GPU和节点上扩展训练作业,从而显著缩短训练时间。

在推论方面,Kubernetes 可确保高可用性和可扩展性。下面是几个现实世界中的例子:

  1. 可扩展的对象检测服务:某公司部署了一个用于实时对象检测Ultralytics YOLO11模型,作为一项网络服务。该模型被打包到一个容器中。利用 Kubernetes,他们可以根据进入的流量自动增减推理 pod 的数量。如果某个节点出现故障,Kubernetes 会自动将 pod 重新安排到健康的节点上,确保服务无需人工干预即可继续使用。这是智能监控系统中部署模型的常见模式。
  2. 作为微服务的复杂 NLP 管道:一个团队构建了一个自然语言处理(NLP)应用程序,其中涉及多个步骤:文本预处理、情感分析和命名实体识别。每个组件都是一个独立的微服务,并被独立容器化。Kubernetes 对这些服务进行协调,管理它们的网络,并允许每个部分独立更新和扩展。这种架构为复杂的人工智能驱动型应用提供了灵活性和弹性。

Kubernetes 与相关技术

  • Kubernetes 与 Docker: Docker是构建和运行单个容器的工具。Kubernetes 是容器编排器,可以在多台机器上管理成千上万个容器。它们不是竞争对手,而是合作者;你可以用 Docker 构建容器映像,然后用 Kubernetes 管理它们。您可以按照Docker 快速入门指南开始学习基础知识。
  • Kubernetes 与无服务器计算:AWS Lambda这样的无服务器平台抽象掉了所有服务器管理。相比之下,Kubernetes 提供了对基础设施的更多控制,因此更适合长期运行或有状态的应用。虽然无服务器对于事件驱动功能来说更简单,但无服务器框架可以使用Knative 等工具在 Kubernetes 上运行。

工具和生态系统

Kubernetes 生态系统非常庞大,包括许多可扩展其功能的工具:

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板