Deploy Mesh on Kubernetes

Uses: Kong Gateway Kong Mesh
Related Documentation
Incompatible with
konnect
TL;DR

Install Kong Mesh on your Kubernetes cluster using Helm, and deploy the Kong Mesh demo application.

Prerequisites

You will need Helm, a package manager for Kubernetes.

This guide requires a running Kubernetes cluster. If you already have a Kubernetes cluster running, you can skip this step. It can be a cluster running locally, like Docker, or in a public cloud like AWS EKS, GCP GKE, etc.

For example, if you are using minikube:

minikube start -p mesh-zone

Install Kong Mesh

Install Kong Mesh control plane with Helm:

helm repo add kong-mesh https://kong.github.io/kong-mesh-charts
helm repo update
helm install --create-namespace --namespace kong-mesh-system kong-mesh kong-mesh/kong-mesh

Deploy the demo application

To start learning how Kong Mesh works, you can use our simple and secure a simple demo application that consists of two services:

  • demo-app: A web application that lets you increment a numeric counter. It listens on port 5000
  • redis: The data store for the counter

Deploy the demo application:

kubectl apply -f https://raw.githubusercontent.com/kumahq/kuma-counter-demo/master/demo.yaml
kubectl wait -n kuma-demo --for=condition=ready pod --selector=app=demo-app --timeout=90s

Forward ports

Port-forward the service to the namespace on port 5000:

kubectl port-forward svc/demo-app -n kuma-demo 5000:5000

Validate

The demo app consists of a web application called Kuma Counter. This application allows us to increment a counter. You can validate the installation was successful by visiting http://127.0.0.1:5000/ and using the web application. When you click Increment, you will see the connection being managed from the terminal.

Cleanup

To clean up your environment, remove the Docker containers, network, temporary directory, and the control plane configuration. Run the following command:

kubectl config delete-context mesh-zone
Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!