In this section, we’ll walk through the process of setting up the Kuma service mesh control plane using kumactl
, the command-line interface (CLI) for Kuma.
We’ll start by downloading and installing kumactl
, and finally deploying Kuma to our Kubernetes cluster.
To install kumactl
, follow the official kumactl installation guide for your specific operating system.
Once installed, you can verify the installation by running:
You should see the version information for kumactl
.
> kumactl version
Client: Kuma 2.2.1
Unable to connect to control plane: Get "http://localhost:5681/": dial tcp 127.0.0.1:5681: connect: connection refused #(1)
-
ignore this error for now, we will fix it later
With kumactl
installed, we can now deploy the Kuma control plane to our Kubernetes cluster.
Warning
|
At this point, you need to have Kubernetes cluster up and running.
We don’t provide instructions for setting up a Kubernetes cluster in this workshop.
You can use minikube (check make minikube-create-cluster task automatically install minikube).
You also can use Kubernetes in managed services (like GKE, AWS EKS, etc).
|
First, create a new namespace for Kuma:
kubectl create namespace kuma-system
Next, use kumactl
to install Kuma in the kuma-system
namespace:
kumactl install control-plane | kubectl apply -f -
This command generates Kubernetes manifests for the Kuma control plane components and applies them to your cluster within the kuma-system
namespace.
After deploying the Kuma control plane, verify that all components are running successfully:
kubectl get pods -n kuma-system
NAME READY STATUS RESTARTS AGE
kuma-control-plane-79cbbd88cb-j6jnh 1/1 Running 1 (96s ago) 4d4h #(1)
-
You should see a list of pods related to Kuma, and their status should be
Running
.
kubectl port-forward svc/kuma-control-plane -n kuma-system 5681:5681 #(1)
-
create a port-forward rule to expose Kuma UI.
and open your browser http://localhost:5681/gui/
Congratulations!
You have successfully set up the Kuma service mesh control plane using kumactl
.
In the next section, we’ll deploy Java demo applications and connect them to the service mesh.