Skip to main content

Version: latest

Ingress Controller Documentation

This documentation applies to two related tools: API7 Ingress Controller and APISIX Ingress Controller. API7 Ingress Controller is used with API7 Enterprise and APISIX Ingress Controller is used with the open-source APISIX gateway.

Although these are separate tools, they share the same usage patterns and feature designs. Some features may be released at different times depending on the product, and any distinctions will be clearly identified and labeled throughout the documentation.

Introduction

API7 / APISIX Ingress Controller (AIC) is a Kubernetes Ingress Controller that converts Kubernetes resources—such as Ingress, Gateway API, and APISIX custom CRDs—into configurations for API7 / APISIX gateways. It enables declarative management of routing, SSL, plugins, upstreams, and other gateway resources directly from Kubernetes.

You should use AIC if any of the following apply:

  • You are deploying APISIX or API7 Gateways in a Kubernetes environment.
  • You want a fully Kubernetes-native experience for managing your API Gateway.

Supported Resources

AIC supports the following Kubernetes resources:

  • Gateway API – A modern, extensible Kubernetes-native API for traffic management. Supports multiple listeners, advanced routing, and richer traffic policies.
  • Ingress – The legacy Kubernetes-native API for basic HTTP/S routing to backend services. It does not support all advanced configurations available in Gateway API or APISIX CRDs.
  • APISIX CRDs – APISIX-specific custom resources that offer fine-grained control over routing, plugins, upstreams, and other gateway features, providing more flexibility and feature coverage.

These resources are all supported by AIC and can coexist within the same Kubernetes cluster. Some features are only available through specific resource types, so care should be taken to avoid configuration conflicts when using multiple resources together.

The diagram below illustrates how the Ingress Controller combines standard Gateway API resources with custom resources to define routing, traffic policies, and gateway behavior within a Kubernetes environment:

ingress controller API resources

How AIC Processes Kubernetes Resources

This diagram illustrates how AIC processes Kubernetes resources. Resources—such as Ingress, Gateway API, or APISIX CRDs—are first translated into internal ADC YAML, which is then synchronized to the gateway for dynamic traffic management.

Deployment Architectures

The architectural diagrams below use a single-controller topology to illustrate the different deployment modes of API7 and APISIX Ingress Controller.

API7 Ingress Controller

API7 Ingress Controller supports a single deployment mode, in which the controller communicates directly with the API7 Control Plane (API7 Dashboard).

API7 Ingress Controller deployment architecture with API7 Enterprise

APISIX Ingress Controller

APISIX Ingress Controller supports two deployment modes: standalone and traditional.

Standalone Mode

The standalone mode is recommended over the traditional mode (with etcd). It is designed to address the stability issues that can arise when running APISIX and etcd inside Kubernetes.

APISIX Ingress Controller deployment architecture in standalone mode with APISIX

Traditional Mode

In the traditional deployment mode, APISIX uses etcd as its configuration center.

APISIX Ingress Controller deployment architecture in traditional mode with APISIX

API7.ai Logo

The digital world is connected by APIs,
API7.ai exists to make APIs more efficient, reliable, and secure.

Sign up for API7 newsletter

Product

API7 Gateway

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

Copyright © APISEVEN PTE. LTD 2019 – 2025. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation