{"id":26961566,"url":"https://github.com/kubernetes-sigs/gateway-api-inference-extension","last_synced_at":"2026-04-09T07:32:16.792Z","repository":{"id":255251884,"uuid":"849007972","full_name":"kubernetes-sigs/gateway-api-inference-extension","owner":"kubernetes-sigs","description":"Gateway API Inference Extension","archived":false,"fork":false,"pushed_at":"2025-08-01T20:11:37.000Z","size":10513,"stargazers_count":419,"open_issues_count":174,"forks_count":133,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-08-01T20:48:10.127Z","etag":null,"topics":["k8s-sig-network"],"latest_commit_sha":null,"homepage":"https://gateway-api-inference-extension.sigs.k8s.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubernetes-sigs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-28T20:04:10.000Z","updated_at":"2025-08-01T20:37:46.000Z","dependencies_parsed_at":"2024-08-28T21:38:48.139Z","dependency_job_id":"1be83ed1-6b0f-49a0-ba6a-1b35057e304f","html_url":"https://github.com/kubernetes-sigs/gateway-api-inference-extension","commit_stats":null,"previous_names":["kubernetes-sigs/llm-instance-gateway","kubernetes-sigs/gateway-api-inference-extension"],"tags_count":14,"template":false,"template_full_name":"kubernetes/kubernetes-template-project","purl":"pkg:github/kubernetes-sigs/gateway-api-inference-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fgateway-api-inference-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fgateway-api-inference-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fgateway-api-inference-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fgateway-api-inference-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubernetes-sigs","download_url":"https://codeload.github.com/kubernetes-sigs/gateway-api-inference-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fgateway-api-inference-extension/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269343290,"owners_count":24401085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-07T02:00:09.698Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["k8s-sig-network"],"created_at":"2025-04-03T05:01:44.342Z","updated_at":"2026-04-09T07:32:16.779Z","avatar_url":"https://github.com/kubernetes-sigs.png","language":"Go","funding_links":[],"categories":["🔧 More by capability (cross-cutting)","Inference","Go"],"sub_categories":["☸️ Kubernetes-native \u0026 inference infra","AI Gateway"],"readme":"[![Go Report Card](https://goreportcard.com/badge/sigs.k8s.io/gateway-api-inference-extension)](https://goreportcard.com/report/sigs.k8s.io/gateway-api-inference-extension)\n[![Go Reference](https://pkg.go.dev/badge/sigs.k8s.io/gateway-api-inference-extension.svg)](https://pkg.go.dev/sigs.k8s.io/gateway-api-inference-extension)\n[![License](https://img.shields.io/github/license/kubernetes-sigs/gateway-api-inference-extension)](/LICENSE)\n[![Join Slack](https://img.shields.io/badge/Join_Slack-blue?logo=slack)](https://kubernetes.slack.com/archives/C08E3RZMT2P)\n\n# Gateway API Inference Extension\n\nGateway API Inference Extension optimizes self-hosting Generative Models on Kubernetes.\nThis is achieved by leveraging Envoy's [External Processing] (ext-proc) to extend any gateway that supports both ext-proc and [Gateway API] into an **[inference gateway]**. \n\n[Inference Gateway]:#concepts-and-definitions\n\n## New!\nInference Gateway has partnered with vLLM to accelerate LLM serving optimizations with [llm-d](https://llm-d.ai/blog/llm-d-announce)!\n\n## Concepts and Definitions\n\nThe following specific terms to this project:\n\n- **Inference Gateway (IGW)**: A proxy/load-balancer which has been coupled with an\n  `Endpoint Picker`. It provides optimized routing and load balancing for\n  serving Kubernetes self-hosted generative Artificial Intelligence (AI)\n  workloads. It simplifies the deployment, management, and observability of AI\n  inference workloads.\n- **Inference Scheduler**: An extendable component that makes decisions about which endpoint is optimal (best cost /\n  best performance) for an inference request based on `Metrics and Capabilities`\n  from [Model Serving](/docs/proposals/003-model-server-protocol/README.md).\n- **Metrics and Capabilities**: Data provided by model serving platforms about\n  performance, availability and capabilities to optimize routing. Includes\n  things like [Prefix Cache] status or [LoRA Adapters] availability.\n- **Endpoint Picker(EPP)**: An implementation of an `Inference Scheduler` with additional Routing, Flow, and Request Control layers to allow for sophisticated routing strategies. Additional info on the architecture of the EPP [here](https://github.com/kubernetes-sigs/gateway-api-inference-extension/tree/main/docs/proposals/0683-epp-architecture-proposal).\n- **Body Based Router(BBR)**: An optional additional [ext-proc](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter) server that parses the http body of the inference prompt message and extracts information (currently the model name for OpenAI API style messages) into a format which can then be used by the gateway for routing purposes. Additional info [here](https://github.com/kubernetes-sigs/gateway-api-inference-extension/tree/main/pkg/bbr/README.md) and in the documentation [user guides](https://gateway-api-inference-extension.sigs.k8s.io/guides/). \n \n\nThe following are key industry terms that are important to understand for\nthis project:\n\n- **Model**: A generative AI model that has learned patterns from data and is\n  used for inference. Models vary in size and architecture, from smaller\n  domain-specific models to massive multi-billion parameter neural networks that\n  are optimized for diverse language tasks.\n- **Inference**: The process of running a generative AI model, such as a large\n  language model, diffusion model etc, to generate text, embeddings, or other\n  outputs from input data.\n- **Model server**: A service (in our case, containerized) responsible for\n  receiving inference requests and returning predictions from a model.\n- **Accelerator**: specialized hardware, such as Graphics Processing Units\n  (GPUs) that can be attached to Kubernetes nodes to speed up computations,\n  particularly for training and inference tasks.\n\n\nFor deeper insights and more advanced concepts, refer to our [proposals](/docs/proposals).\n\n[Inference]:https://www.digitalocean.com/community/tutorials/llm-inference-optimization\n[Gateway API]:https://github.com/kubernetes-sigs/gateway-api\n[Prefix Cache]:https://docs.vllm.ai/en/stable/design/v1/prefix_caching.html\n[LoRA Adapters]:https://docs.vllm.ai/en/stable/features/lora.html\n[External Processing]:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter\n\n\n\n## Technical Overview\n\nThis extension upgrades an [ext-proc](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter) capable proxy or gateway - such as Envoy Gateway, kgateway, or the GKE Gateway - to become an **[inference gateway]** - supporting inference platform teams self-hosting Generative Models (with a current focus on large language models) on Kubernetes. This integration makes it easy to expose and control access to your local [OpenAI-compatible chat completion endpoints](https://platform.openai.com/docs/api-reference/chat) to other workloads on or off cluster, or to integrate your self-hosted models alongside model-as-a-service providers in a higher level **AI Gateway** like LiteLLM, Solo AI Gateway, or Apigee.\n\nThe Inference Gateway:\n\n* Improves the tail latency and throughput of LLM completion requests against Kubernetes-hosted model servers using an extensible request scheduling algorithm that is kv-cache and request cost aware, avoiding evictions or queueing as load increases\n* Provides [Kubernetes-native declarative APIs](https://gateway-api-inference-extension.sigs.k8s.io/concepts/api-overview/) to route client model names to use-case specific LoRA adapters and control incremental rollout of new adapter versions, A/B traffic splitting, and safe blue-green base model and model server upgrades\n* Adds end to end observability around service objective attainment\n* Ensures operational guardrails between different client model names, allowing a platform team to safely serve many different GenAI workloads on the same pool of shared foundation model servers for higher utilization and fewer required accelerators\n\n![Architecture Diagram](./docs/inference-gateway-architecture.svg)\n\n### Model Server Integration\n\nIGW’s pluggable architecture was leveraged to enable the [llm-d Inference Scheduler](https://github.com/llm-d/llm-d-inference-scheduler).  \n\nLlm-d customizes vLLM \u0026 IGW to create a disaggregated serving solution. We've worked closely with this team to enable this integration. IGW will continue to work closely with llm-d to generalize the disaggregated serving plugin(s), \u0026 set a standard for disaggregated serving to be used across any [protocol-adherent](https://github.com/kubernetes-sigs/gateway-api-inference-extension/tree/main/docs/proposals/003-model-server-protocol) model server. \n\nIGW has enhanced support for vLLM via llm-d, and broad support for any model servers implementing the protocol. More details can be found in [model server integration](https://gateway-api-inference-extension.sigs.k8s.io/implementations/model-servers/).\n\n## Status\n\n![Latest Release](https://img.shields.io/github/v/release/kubernetes-sigs/gateway-api-inference-extension?)\n\nThis project is GA'd! The latest release can be found [here](https://github.com/kubernetes-sigs/gateway-api-inference-extension/releases/latest).  \nPlease file any bugs or feature requests you have. We are always happy to welcome new collaborators and users.\n\n## Getting Started\n\nFollow our [Getting Started Guide](https://gateway-api-inference-extension.sigs.k8s.io/guides/) to get the inference-extension up and running on your cluster!\n\nSee [our website](https://gateway-api-inference-extension.sigs.k8s.io/) for detailed API documentation on leveraging our Kubernetes-native declarative APIs\n\n## Roadmap\n\nAs Inference Gateway builds towards a GA release. We will continue to expand our capabilities, namely:\n\n1. Prefix-cache aware load balancing with interfaces for remote caches\n1. Recommended LoRA adapter pipeline for automated rollout\n1. Fairness and priority between workloads within the same criticality band\n1. HPA support for autoscaling on aggregate metrics derived from the load balancer\n1. Support for large multi-modal inputs and outputs\n1. Support for other GenAI model types (diffusion and other non-completion protocols)\n1. Heterogeneous accelerators - serve workloads on multiple types of accelerator using latency and request cost-aware load balancing\n1. Disaggregated serving support with independently scaling pools\n\n## End-to-End Tests\n\nFollow this [README](./test/e2e/epp/README.md) to learn more about running the inference-extension end-to-end test suite on your cluster.\n\n## Contributing\n\nOur community meeting is weekly at Thursday 10AM PDT ([Zoom](https://zoom.us/j/96271651417?pwd=NViXawg6lMsRjgXbu2YmW8DxWqbjta.1), [Meeting Notes](https://www.google.com/url?q=https://docs.google.com/document/d/1frfPE5L1sI3737rdQV04IcDGeOcGJj2ItjMg6z2SRH0/edit?usp%3Dsharing\u0026sa=D\u0026source=calendar\u0026usd=2\u0026usg=AOvVaw1pUVy7UN_2PMj8qJJcFm1U)).\n\nWe currently utilize the [#gateway-api-inference-extension](https://kubernetes.slack.com/?redir=%2Fmessages%2Fgateway-api-inference-extension) channel in Kubernetes Slack workspace for communications.\n\nContributions are readily welcomed, follow the [dev guide](./docs/dev.md) to start contributing!\n\n### Code of conduct\n\nParticipation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes-sigs%2Fgateway-api-inference-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubernetes-sigs%2Fgateway-api-inference-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes-sigs%2Fgateway-api-inference-extension/lists"}