kubeai

kubeai-projectApache-2.0活跃维护

在 Kubernetes 上部署和扩缩容 ML 模型推理服务的 Operator,支持 LLM、VLM、向量嵌入和语音转文字,并提供 OpenAI 兼容 API。

AI Inference Operator for Kubernetes. The easiest way to serve ML models in production. Supports VLMs, LLMs, embeddings, and speech-to-text.

v0.25.1发布于 2026-11-10 12:52 UTC1,290star +1 / 7 天144fork同步于 2026-11-11 05:47 UTC

怎么上手

由 README 提炼,执行前请确认
helm repo add kubeai https://www.kubeai.org
helm repo update
helm install kubeai kubeai/kubeai --wait --timeout 10m
硬件要求按 README 说明

README 说明可在 CPU、GPU 或 TPU 上运行,模型目录按常见 GPU 类型预配置;未给出具体显存数值。

纯 CPU 可运行
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Kubernetes 上的 AI 推理 Operator,一条命令把 LLM、嵌入和语音模型部署成可扩缩的生产服务

在 Kubernetes 上部署和扩缩容 ML 模型推理服务的 Operator,支持 LLM、VLM、向量嵌入和语音转文字,并提供 OpenAI 兼容 API。

核心能力

  • 用 Model CRD 管理后端 Pod,自动下载模型并挂载卷
  • 代理实现前缀感知负载均衡,优化 vLLM KV 缓存利用率
  • 支持从零副本扩缩容,无需 Istio 或 Knative
  • 提供 OpenAI 兼容的 chat、embeddings、rerank、音频转写接口
  • 编排 LoRA 适配器跨副本分发,并内置常用模型目录

容易踩的坑

需要先自备 kind 或 minikube 等 Kubernetes 集群;模型需通过 kubeai/models chart 单独安装并启用;用 Podman 跑 kind 时默认内存上限 2G,需调到 6G 左右。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.25.1
  1. helm-chart-models-0.25.12026-11-10 · 2026-11-10 12:52 UTC
    查看更新说明

    A Helm chart for Kubernetes

  2. helm-chart-kubeai-0.25.12026-11-10 · 2026-11-10 12:52 UTC
    查看更新说明

    Private Open AI Platform for Kubernetes.

  3. v0.25.1kubeai 0.25.1最新正式版2026-11-10 · 2026-11-10 12:52 UTC
  4. helm-chart-models-0.25.02026-10-30 · 2026-10-30 14:47 UTC
    查看更新说明

    A Helm chart for Kubernetes

  5. helm-chart-kubeai-0.25.02026-10-30 · 2026-10-30 14:47 UTC
    查看更新说明

    Private Open AI Platform for Kubernetes.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    KubeAI: AI Inferencing Operator

    Deploy and scale machine learning models on Kubernetes.

    Built for LLMs, embeddings, reranking and speech-to-text.

    Highlights

    What is it for?

    🚀 LLM Inferencing - Operate vLLM and Ollama servers
    🎙️ Speech Processing - Transcribe audio with Whisper on vLLM or FasterWhisper 🔢 Vector Embeddings - Generate embeddings with Infinity
    📚 Reranking - Reorder search results with cross-encoder models

    What do you get?

    ⚡️ Intelligent Scaling - Scale from zero to meet demand
    📊 Optimized Routing - Dramatically improves performance at scale (see paper)
    💾 Model Caching - Automates downloading & mounting (EFS, etc.)
    🧩 Dynamic Adapters - Orchestrates LoRA adapters across replicas
    📨 Event Streaming - Integrates with Kafka, PubSub, and more

    We strive for an "it justs works" experience:

    🔗 OpenAI Compatible - Works with OpenAI client libraries
    🛠️ Zero Dependencies - Does not require Istio, Knative, etc.
    🖥 Hardware Flexible - Runs on CPU, GPU, or TPU

    Quotes from the community:

    reusable, well abstracted solution to run LLMs - Mike Ensor, Google

    Why KubeAI?

    Better performance at scale

    When running multiple replicas of vLLM, the random load balancing strategy built into kube-proxy that backs standard Kubernetes Services performs poorly (TTFT & throughput). This is because vLLM isn't stateless, its performance is heavily influenced by the state of its KV cache.

    The KubeAI proxy includes a prefix-aware load balancing strategy that optimizes KV cache utilization - resulting in dramatic improvements to overall system performance.

    See the full paper for more details.

    Simplicity and ease of use

    KubeAI does not depend on other systems like Istio & Knative (for scale-from-zero), or the Prometheus metrics adapter (for autoscaling). This allows KubeAI to work out of the box in almost any Kubernetes cluster. Day-two operations is greatly simplified as well - don't worry about inter-project version and configuration mismatches.

    The project ships with a catalog of popular models, pre-configured for common GPU types. This means you can spend less time tweaking vLLM-specific flags. As we expand, we plan to build out an extensive model optimization pipeline that will ensure you get the most out of your hardware.

    OpenAI API Compatibility

    No need to change your client libraries, KubeAI supports the following endpoints:

    /v1/chat/completions
    /v1/completions
    /v1/embeddings
    /v1/rerank
    /v1/classify
    /v1/systemone
    /v1/models
    /v1/audio/transcriptions
    

    Architecture

    KubeAI consists of two primary sub-components:

    1. The model proxy: the KubeAI proxy provides an OpenAI-compatible API. Behind this API, the proxy implements a prefix-aware load balancing strategy that optimizes for KV the cache utilization of the backend serving engines (i.e. vLLM). The proxy also implements request queueing (while the system scales from zero replicas) and request retries (to seamlessly handle bad backends).

    2. The model operator: the KubeAI model operator manages backend server Pods directly. It automates common operations such as downloading models, mounting volumes, and loading dynamic LoRA adapters via the KubeAI Model CRD.

    Both of these components are co-located in the same deployment, but could be deployed independently.

    Adopters

    List of known adopters:

    NameDescriptionLink
    TelescopeTelescope uses KubeAI for multi-region large scale batch LLM inference.trytelescope.ai
    Google Cloud Distributed EdgeKubeAI is included as a reference architecture for inferencing at the edge.LinkedIn, GitLab
    LambdaYou can try KubeAI on the Lambda AI Developer Cloud. See Lambda's tutorial and video.Lambda
    VultrKubeAI can be deployed on Vultr Managed Kubernetes using the application marketplace.Vultr
    ArceeArcee uses KubeAI for multi-region, multi-tenant SLM inference.Arcee
    SeewebSeeweb leverages KubeAI for direct and client-facing GPU inference workloads. KubeAI can be deployed on any GPU server and SKSSeeweb

    If you are using KubeAI and would like to be listed as an adopter, please make a PR.

    Local Quickstart

    https://github.com/user-attachments/assets/711d1279-6af9-4c6c-a052-e59e7730b757

    Create a local cluster using kind or minikube.

    # You might need to stop and remove the existing machine:
    podman machine stop
    podman machine rm
    
    # Init and start a new machine:
    podman machine init --memory 6144 --disk-size 120
    podman machine start
    
    kind create cluster # OR: minikube start
    

    Add the KubeAI Helm repository.

    helm repo add kubeai https://www.kubeai.org
    helm repo update
    

    Install KubeAI and wait for all components to be ready (may take a minute).

    helm install kubeai kubeai/kubeai --wait --timeout 10m
    

    Install some predefined models.

    cat <<EOF > kubeai-models.yaml
    catalog:
      deepseek-r1-1.5b-cpu:
        enabled: true
        features: [TextGeneration]
        url: 'ollama://deepseek-r1:1.5b'
        engine: OLlama
        minReplicas: 1
        resourceProfile: 'cpu:1'
      qwen2-500m-cpu:
        enabled: true
      nomic-embed-text-cpu:
        enabled: true
    EOF
    
    helm install kubeai-models kubeai/models \
        -f ./kubeai-models.yaml
    

    Before progressing to the next steps, start a watch on Pods in a standalone terminal to see how KubeAI deploys models.

    kubectl get pods --watch
    
    Interact with Deepseek R1 1.5b

    Because we set minReplicas: 1 for the Deepseek model you should see a model Pod already coming up.

    Start a local port-forward to the bundled chat UI.

    kubectl port-forward svc/open-webui 8000:80
    

    Now open your browser to localhost:8000 and select the Deepseek model to start chatting with.

    Scale up Qwen2 from Zero

    If you go back to the browser and start a chat with Qwen2, you will notice that it will take a while to respond at first. This is because we set minReplicas: 0 for this model and KubeAI needs to spin up a new Pod (you can verify with kubectl get models -oyaml qwen2-500m-cpu).

    Get Plugged-In

    Read about concepts, guides, and API documentation on kubeai.org.

    🌟 Don't forget to drop us a star on GitHub and follow the repo to stay up to date!

    KubeAI Star history Chart

    Let us know about features you are interested in seeing or reach out with questions.

    Maintainers (active)

    You can also reach the maintainers of this project at:

    Original creators and maintainers (inactive)