Skip to content
2023 API Summit Hackathon: Experiment with AI for APIs (August 28 - September 27) Learn More →
Kong Logo | Kong Docs Logo
search
  • We're Hiring!
  • Docs
    • Kong Gateway
      Lightweight, fast, and flexible cloud-native API gateway
      Kong Konnect
      Single platform for SaaS end-to-end connectivity
      Kong Mesh
      Enterprise service mesh based on Kuma and Envoy
      decK
      Helps manage Kong’s configuration in a declarative fashion
      Kong Ingress Controller
      Works inside a Kubernetes cluster and configures Kong to proxy traffic
      Kong Gateway Operator
      Manage your Kong deployments on Kubernetes using YAML Manifests
      Insomnia
      Collaborative API development platform
      Kuma
      Open-source distributed control plane with a bundled Envoy Proxy integration
  • API Specs
  • Plugin Hub
    • Explore the Plugin Hub
      View all plugins View all plugins View all plugins arrow image
    • Functionality View all View all arrow image
      View all plugins
      Authentication's icon
      Authentication
      Protect your services with an authentication layer
      Security's icon
      Security
      Protect your services with additional security layer
      Traffic Control's icon
      Traffic Control
      Manage, throttle and restrict inbound and outbound API traffic
      Serverless's icon
      Serverless
      Invoke serverless functions in combination with other plugins
      Analytics & Monitoring's icon
      Analytics & Monitoring
      Visualize, inspect and monitor APIs and microservices traffic
      Transformations's icon
      Transformations
      Transform request and responses on the fly on Kong
      Logging's icon
      Logging
      Log request and response data using the best transport for your infrastructure
  • Support
  • Community
  • Kong Academy
Get a Demo Start Free Trial
Kong Konnect
  • Home icon
  • Kong Konnect
  • Network Resiliency and Availability
github-edit-pageEdit this page
report-issueReport an issue
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Plugin Hub
  • decK
  • Kong Ingress Controller
  • Kong Gateway Operator
  • Insomnia
  • Kuma

  • Docs contribution guidelines
enterprise-switcher-icon Switch to OSS

Network Resiliency and Availability

Kong Konnect deployments run in hybrid mode, which means that there is a separate control plane attached to a data plane consisting of one or more data plane nodes. Control planes and data plane nodes must communicate with each other to receive and send configurations. If communication is interrupted and either side can’t send or receive config, data plane nodes can still continue proxying traffic to clients.

Whenever a data plane node receives new configuration from the control plane, it immediately loads that config into memory. At the same time, it caches the config as config.json.gz into /usr/local/kong by default.

Communication

How do the control plane and data plane communicate?

Data traveling between control planes and data planes is secured through a mutual TLS handshake. Data plane nodes initiate the connection to the Konnect control plane. Once the connection is established, the control plane can send configuration data to the connected data plane nodes.

Normally, each data plane node maintains a persistent connection with the control plane. The node sends a heartbeat to the control plane every 30 seconds to keep the connection alive. If it receives no answer, it tries to reconnect to the control plane after a 5-10 second delay.

What types of data travel between the Kong Konnect control plane and the data plane nodes, and how?

There are two types of data that travel between the planes: configuration and telemetry. Both use the secure TCP port 443.

  • Configuration: The control plane sends configuration data to any connected data plane node in the cluster.

  • Telemetry: Data plane nodes send usage information to the control plane for Analytics and for account billing. Analytics tracks aggregate traffic by service, route, and the consuming application. For billing, Kong tracks the number of services, API calls, and active dev portals.

Telemetry data does not include any customer information or any data processed by the data plane. All telemetry data is encrypted using mTLS.

How frequently does data travel between the Konnect control plane and data plane nodes?

When you make a configuration change on the control plane, that change is immediately pushed to any connected data plane nodes.

Connection behavior and incident recovery

What happens if Kong Konnect goes down?

If the Kong-hosted control plane goes down, the control plane/data plane connection gets interrupted. You can’t access the control plane or change any configuration during this time.

A connection interruption has no negative effect on the function of your data plane nodes. They continue to proxy and route traffic normally.

What happens if the control plane and data plane nodes disconnect?

If a data plane node becomes disconnected from its control plane, configuration can’t travel between them. In that situation, the data plane node continues to use cached configuration until it reconnects to the control plane and receives new configuration.

Whenever a connection is re-established with the control plane, it pushes the latest configuration to the data plane node. It doesn’t queue up or try to apply older changes.

If your control plane is a Kong Mesh global control plane, see Failure modes in the Kong Mesh documentation for more details on what happens when there are Kong Mesh connectivity issues.

How long can data plane nodes remain disconnected from the control plane?

A data plane node will keep pinging the control plane, until the connection is re-established or the data plane node is stopped.

The data plane node needs to connect to the control plane at least once. The control plane pushes configuration to the data plane, and each data plane node caches that configuration in-memory. It continues to use this cached configuration until it receives new instructions from the control plane.

There are situations that can cause further problems:

  • If the license that the data plane node received from the control plane expires, the node stops working.
  • If the data plane node’s configuration cache file (config.json.gz) gets deleted, it loses access to the last known configuration and starts up empty.

Can I restart a data plane node if the control plane is down or disconnected?

Yes. If you restart a data plane node, it uses a cached configuration to continue functioning the same as before the restart.

Can I create a new data plane node when the connection is down?

Yes. Starting in version 3.2, Kong Gateway can be configured to support configuring new data plane nodes in the event of a control plane outage. See How to Configure Data Plane Resilience for more information.

Backups and alternative options

Can I create a backup configuration to use in case the cache fails?

You can set the declarative_config option to load a fallback YAML config.

Can I change a data plane node’s configuration when it’s disconnected from the control plane?

Yes, if necessary, though any manual configuration will be overwritten the next time the control plane connects to the node.

You can load configuration manually in one of the following ways:

  • Copy the configuration cache file (config.json.gz) from another data plane node with a working connection and overwrite the cache file on disk for the disconnected node.
  • Remove the cache file, then start the data plane node with declarative_config to load a fallback YAML config.
Thank you for your feedback.
Was this page useful?
Too much on your plate? close cta icon
More features, less infrastructure with Kong Konnect. 1M requests per month for free.
Try it for Free
  • Kong
    THE CLOUD CONNECTIVITY COMPANY

    Kong powers reliable digital connections across APIs, hybrid and multi-cloud environments.

    • Company
    • Customers
    • Events
    • Investors
    • Careers Hiring!
    • Partners
    • Press
    • Contact
  • Products
    • Kong Konnect
    • Kong Gateway
    • Kong Mesh
    • Get Started
    • Pricing
  • Resources
    • eBooks
    • Webinars
    • Briefs
    • Blog
    • API Gateway
    • Microservices
  • Open Source
    • Install Kong Gateway
    • Kong Community
    • Kubernetes Ingress
    • Kuma
    • Insomnia
  • Solutions
    • Decentralize
    • Secure & Govern
    • Create a Dev Platform
    • API Gateway
    • Kubernetes
    • Service Mesh
Star
  • Terms•Privacy
© Kong Inc. 2023