Deploy Konnect Managed Control Plane
Install Kong Mesh zone Control plane in your environment and let Konnect take care of the global Control plane.
Prerequisites
Create a Kong Mesh control plane
This is a Konnect tutorial and requires a Konnect Plus account. If you don’t have a Konnect account, you can get started quickly with our onboarding wizard.
-
After creating your Konnect account, create the Kong Mesh Control plane and your first Mesh zone. Follow the instructions in Konnect to deploy your data plane.
-
The Konnect onboarding process will guide you through the steps below, automatically injecting you System Access Token, Control plane URL and Control plane ID. If you want to follow the steps here, export the generated token, Control plane URL and Control plane ID:
export KONNECT_TOKEN='YOUR KONNECT TOKEN' export KONNECT_CONTROL_PLANE_URL='YOUR KONNECT CONTROL PLANE' export KONNECT_CONTROL_PLANE_ID='YOUR CONTROL PLANE ID'
Deploy the demo application
To start learning how Kong Mesh works, you can use our simple and secure demo application that consists of two services:
-
demo-app
: A web application that lets you increment a numeric counter. It listens on port5000
-
redis
: The data store for the counter
flowchart LR demo-app(demo-app :5000) redis(redis :6379) demo-app --> redis
When using the Konnect managed Control Plane, all changes to the Mesh must be applied using kumactl
. You can configure kumactl
connectivity by clicking on Actions from the Mesh overview in Konnect Mesh Manager.
Forward ports
Port-forward the service to the namespace on port 5000
:
kubectl port-forward svc/demo-app -n kuma-demo 5000:5000
Validate
Navigate to 127.0.0.1:5000/
in your web browser and increment the counter.
Now that you have you workloads up and running, we can secure them with Mutual TLS.
Introduce zero-trust security
By default, service-to-service traffic in the mesh is not encrypted. You can change this in Kong Mesh by enabling the Mutual TLS (mTLS) policy, which provisions a dynamic Certificate Authority (CA) on the default
Mesh. This CA automatically issues TLS certificates to all dataplanes.
To enable mTLS using a built-in CA:
Do not enable mTLS in an environment with existing workloads until you define a
MeshTrafficPermission
policy. Without it, service-to-service communication will be blocked.
cat <<EOF | kumactl apply -f -
type: Mesh
name: default
mtls:
enabledBackend: ca-1
backends:
- name: ca-1
type: builtin
EOF
After enabling mTLS, service communication will be denied by default. To restore connectivity, apply a fully permissive MeshTrafficPermission policy:
cat <<EOF | kumactl apply -f -
type: MeshTrafficPermission
name: allow-all
mesh: default
spec:
from:
- targetRef:
kind: Mesh
default:
action: Allow
EOF