Deployment Architecture
APISIX Ingress Controller watches Kubernetes Ingress, Gateway API, and APISIX custom resources, translates their desired state into Apache APISIX configuration, and keeps the gateway configuration synchronized. APISIX remains the data plane that receives and proxies traffic.
The controller can deliver configuration to APISIX through Admin API mode or Standalone API-driven mode. See APISIX Ingress Controller Resources for the Kubernetes resources the controller watches and Configure Routes for a working routing example.
Admin API Mode#
In Admin API mode, APISIX uses etcd as its configuration center. APISIX Ingress Controller sends translated routes, upstreams, and other resources to the APISIX Admin API, and APISIX stores the configuration in etcd. This mode supports distributed APISIX clusters with dynamic configuration synchronization.
Standalone Mode (Experimental)#
APISIX Standalone mode does not require etcd. It supports file-driven configuration through conf/apisix.yaml and API-driven configuration stored in memory through the /apisix/admin/configs endpoint.
APISIX Ingress Controller uses the API-driven variant to publish the complete configuration to APISIX. This mode reduces external dependencies in Kubernetes and single-node deployments, but it is currently experimental.
Configure the control plane mode, endpoint or Service, TLS verification, and authentication with GatewayProxy. See Configure CP Endpoint and Admin Key for an example and the ControlPlaneProvider API reference for all available fields.