Happy Dussehra! May good always win. Happy Diwali! Wishing you a bright year ahead. Merry Christmas! Warm wishes from Vizag. Happy New Year! Here’s to a great year ahead.

DevOps · CNCF daily

Higress: An Envoy-Based Gateway for Ingress, Microservices and LLM Traffic

CNCF Sandbox. An API gateway built on Envoy and Istio that routes ingress and microservice traffic, extends with WebAssembly plugins, and adds controls for AI model and tool calls.

6 min read

CNCF Sandbox

  • Higress
  • Envoy
  • Istio
  • WebAssembly
  • Kubernetes
CNCF project page

Higress is an API gateway that combines an Envoy data plane with a control plane derived from Istio. It serves as a Kubernetes ingress controller, a microservice gateway that discovers services from registries such as Nacos, and an AI gateway that fronts large language model providers with unified access, token-based rate limiting, caching and observability. Its distinguishing design choice is that extensions run as WebAssembly plugins written in Go, Rust or JavaScript, which can be loaded and changed without restarting the gateway. It addresses the cost of running separate gateways for web traffic, internal services and model calls, and the operational pain of ingress configuration reloads. Higress was developed inside Alibaba, where long-lived connection reloads in older gateways motivated it, was open-sourced in 2022, and was accepted into the CNCF Sandbox on March 15, 2026.

CNCF daily · Sprint 3, post 7 of 21 · API Gateway

At a glance

Category Orchestration & Management › API Gateway
CNCF status Sandbox. Accepted March 15, 2026
Written in Go for the controller and plugins SDK; Envoy (C++) as the proxy
License Apache 2.0
Configuration APIs Kubernetes Ingress, Gateway API and Higress-specific annotations and custom resources
Extensions WebAssembly plugins (Go, Rust, JavaScript), plus Lua filters
Service discovery Kubernetes, Nacos, Consul, ZooKeeper and static or DNS targets
AI features Multi-provider model proxy, token rate limiting, semantic caching, observability, and hosting of MCP (Model Context Protocol) servers
Console A web console for routes, domains, plugins and consumers

Architecture

flowchart TB
  CLIENT[Clients<br/>web, mobile, agents] ==>|HTTPS| GW[Higress gateway<br/>Envoy with Wasm filters]
  GW ==>|routed request| SVC[Kubernetes services<br/>and VM backends]
  GW ==>|model request| LLM[LLM providers<br/>and local models]
  CTRL[Higress controller<br/>Istio derived xDS] -.->|xDS route and cluster config| GW
  K8S[Kubernetes API<br/>Ingress and Gateway API] -.->|resources| CTRL
  REG[Nacos or Consul<br/>service registries] -.->|service endpoints| CTRL
  PLUG[Wasm plugin store<br/>OCI image or URL] -.->|plugin binaries| GW
  CON[Higress console] -.->|manage routes and plugins| K8S
  GW -.->|metrics logs traces| OBS[Prometheus and tracing backend]
  classDef core fill:#0f766e,stroke:#064e4a,stroke-width:2px,color:#ffffff
  classDef data fill:#e3f2fd,stroke:#1565c0,stroke-width:1.5px,color:#1d1c1a
  classDef actor fill:#eceff1,stroke:#455a64,stroke-width:1.5px,color:#1d1c1a
  classDef ctrl fill:#ede7f6,stroke:#5e35b1,stroke-width:1.5px,color:#1d1c1a
  class GW,CTRL,CON core
  class SVC,LLM,OBS data
  class CLIENT actor
  class K8S,REG,PLUG ctrl

Key: teal blocks are Higress components, blue are backends and observability, purple are configuration sources, grey are clients. Thick arrows carry traffic, dashed arrows carry configuration and telemetry.

Component Responsibility
Gateway (Envoy) Terminates TLS, routes requests, runs authentication, rate limiting and AI plugins, and proxies to backends.
Controller Watches Ingress, Gateway API and registry data and pushes dynamic configuration to Envoy over xDS, without reloads.
Wasm plugins Sandboxed extensions for authentication, transformation, rate limits, AI proxying and custom logic, loaded dynamically.
Console A graphical interface for managing routes, domains, consumers and plugin settings.
Registry integrations Allow routing to services that are registered outside Kubernetes.

Design principle. Apply configuration to a running proxy. Dynamic xDS updates and hot-loaded Wasm plugins let routes, certificates and policies change without dropping long-lived connections, which matters for streaming and for model responses that last many seconds.

Production reference design

A common deployment uses Higress as the single entry point to a Kubernetes cluster, with separate routes for applications and for AI traffic.

  1. Install the gateway. Use the project Helm chart and pin the version:
    helm repo add higress.io https://higress.io/helm-charts
    helm install higress higress.io/higress \
      --namespace higress-system --create-namespace --version <version>
  2. Expose services with standard resources. An Ingress that uses the Higress class:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata: { name: shop, namespace: shop }
    spec:
      ingressClassName: higress
      tls:
        - { hosts: ["shop.example.com"], secretName: shop-tls }
      rules:
        - host: shop.example.com
          http:
            paths:
              - path: /api
                pathType: Prefix
                backend:
                  service: { name: order, port: { number: 8080 } }
  3. Add policies through plugins. Enable plugins for key or JWT authentication and rate limiting on specific routes or domains. Plugin settings are supplied as WasmPlugin resources or in the console, and the schema for each plugin is in its documentation.
  4. Front AI providers (optional). Configure the AI proxy plugin with a provider, credentials from a secret, and a model mapping so applications call one stable endpoint while the gateway handles authentication, fallback and token limits.
  5. Scale and observe. Run at least two gateway replicas behind a load balancer, export metrics to Prometheus, and send access logs and traces to your tracing backend.

Typical uses include replacing an ingress controller, protecting microservices behind one gateway, bridging VM and Kubernetes backends, and governing application access to LLM providers. Confirm option names against the documentation for your version.

Operational considerations

  • Plugin supply chain. Wasm plugins run inside the gateway. Pull them only from images you control, pin versions, and test them for memory and latency impact.
  • Sandbox project maturity. The community is smaller than for Envoy Gateway or Kong, and much documentation originates in Chinese. Confirm the support and release model you need.
  • Secrets for AI providers. Store provider keys in Kubernetes secrets or an external secret store, and restrict console access, since the gateway can spend money on your behalf.
  • Capacity. Envoy memory grows with route and cluster count. Test with realistic route sets and, for streaming responses, long-lived connection limits.
  • Migration. Moving from another ingress controller means mapping annotations and policies. Run both in parallel on different hostnames first.

Adoption

  • Alibaba Cloud created Higress, runs it internally, and offers it as the basis of its managed cloud-native API gateway service.
  • The project’s repository and website list further users, mainly in China and Asia; as a recent CNCF member, its public adopter record in other regions is still small, so teams should confirm references relevant to them.

Alternatives

Solution Model Best suited to
Kgateway (CNCF Sandbox) Gateway API control plane for Envoy Standards-first Gateway API deployments; see the Kgateway brief
Emissary-Ingress (CNCF Incubating) Envoy-based API gateway with its own CRDs Mapping-style routing for Kubernetes; see the Emissary-Ingress brief
Envoy Gateway Official Envoy gateway project Gateway API with upstream Envoy support
Kong Gateway, Apache APISIX Plugin-rich API gateways Large plugin ecosystems and commercial support options
Cloud API gateways Managed gateway services Teams that prefer a provider-operated gateway

Strengths and limitations

Strengths Limitations
Dynamic configuration without connection-dropping reloads Sandbox project with a short CNCF track record
Wasm plugins in several languages, hot loaded Plugin ecosystem is smaller than Kong or APISIX
One gateway for ingress, services and AI traffic Documentation and community skew toward Chinese-language sources
Registry integrations beyond Kubernetes Istio-derived control plane adds concepts to learn
Envoy performance and Apache 2.0 licence AI gateway features are young and change quickly

Recommendation

Assess. Higress is worth a trial where long-lived connections, Wasm extensibility or a combined web and AI gateway are real requirements. Deploy it beside the existing ingress on a test hostname, move one route with an authentication plugin, and measure latency and reload behaviour. For plain Kubernetes ingress with the Gateway API, Envoy Gateway or Kgateway may be a lower-risk choice.

References: CNCF project page · Higress website · Higress repository · CNCF Landscape

Spotted something wrong or out of date?Suggest a correction. I review every suggestion before changing the page.