You are browsing unreleased documentation. See the latest documentation here.
KIC
Kong Ingress Controller reads state from the Kubernetes API server and generates a Kong Gateway configuration. If Kong Ingress Controller is not running, new Kong Gateway instances will not receive a configuration. Existing Kong Gateway instances will continue to process traffic using their existing configuration.
Your Kong Ingress Controller instance being offline is a major issue. The configuration loaded by Kong Gateway will quickly become outdated, especially the upstream endpoints hosting your applications. Without Kong Ingress Controller running, Kong Gateway will not detect new application pods, or remove old pods from it’s routing configuration.
Leader Election
Kong recommends running at least two Kong Ingress Controller instances. Kong Ingress Controller elects a leader when connected to a database-backed cluster or when Gateway Discovery is configured. This ensures that only a single controller pushes configuration to Kong’s database or to Kong’s Admin API to avoid potential conflicts and race conditions.
When a leader controller shuts down, other instances will detect that there is no longer a leader, and one will promote itself to the leader.
Leader election is controlled using the Lease
resource. For this reason, Kong Ingress Controller needs permission to create a Lease
resource. By default, the permission is given at Namespace level.
The name of the Lease is derived from the value of election-id
CLI flag or CONTROLLER_ELECTION_ID
environment variable (default: 5b374a9e.konghq.com
) and election-namespace
(default: ""
) as: “