Federate a zone control plane to Kong Konnect
If you already have a zone control plane which is not connected to any global control plane, you can federate it to Konnect in Mesh Manager.
By federating a zone control plane, you move Kong Mesh from a single-zone setup to multi-zone setup. One benefit of moving from single-zone to multi-zone is it gives you automatic service fail-over in case a specific zone fails.
This guide explains how to federate a zone control plane to Konnect by migrating an existing Kong Mesh zone to Konnect and adding another zone.
Prerequisites
- A universal or Kubernetes cluster with a running zone control plane that isn’t connected to the global control plane in Konnect
-
The latest version of
kumactl
installed and configured to communicate with the self-managed global control plane - A Kong Mesh global control plane in Konnect
Transfer resources from the zone control plane to Konnect
-
In Mesh Manager, click Global Control Plane Actions and then click Configure kumactl.
-
Configure kumactl with the zone control plane:
- Kubernetes only: If your zone is deployed on Kubernetes, you can port-forward 5681 for easy access:
kubectl port-forward svc/kong-mesh-control-plane -n kong-mesh-system 5681
- Configure
kumactl
with the admin token:export ZONE_USER_ADMIN_TOKEN=$(kubectl get secrets -n kong-mesh-system admin-user-token -ojson | jq -r .data.value | base64 -d) kumactl config control-planes add \ --address http://localhost:5681 \ --headers "authorization=Bearer $ZONE_USER_ADMIN_TOKEN" \ --name "zone-cp" \ --overwrite
- Universal/VM only: Configure
kumactl
with the admin token by following the authentication docs.
- Kubernetes only: If your zone is deployed on Kubernetes, you can port-forward 5681 for easy access:
- Get the required resources for federation:
kumactl export --profile=federation --format=universal > resources.yaml
-
Switch the active
kumactl
control plane to Konnect:- Find the configured control plane in Konnect:
kumactl config control-planes list
- Switch to the configured control plane:
kumactl config control-planes switch --name {config}
- Find the configured control plane in Konnect:
- Apply the resources to Konnect:
kumactl apply -f resources.yaml
Connect the zone control plane to Konnect
-
Create a new zone in Konnect. Be sure to override your existing zone control plane
values.yaml
configuration with the values provided in the Konnect UI wizard. -
Restart the zone control plane with the new values. Konnect will automatically start looking for the zone. Once Konnect finds the zone, it will display it in the UI.
Verify federation
To verify federation, navigate to the global control plane in Mesh Manager. You should eventually see the following:
- An online zone in the list of zones
- Any policies that were previously applied on the zone control plane
- Data plane proxies that are running in the zone