Service Map & Hubble UI¶
This tutorial guides you through enabling the Hubble UI to access the graphical service map.
This guide assumes that Cilium has been correctly installed in your
Kubernetes cluster and that Hubble has been enabled. Please see
Quick Installation and Setting up Hubble Observability for more information. If
cilium status and validate that Cilium and Hubble are up and
Enable the Hubble UI¶
If you have not done so already, enable the Hubble UI by running the following command:
Open the Hubble UI¶
Open the Hubble UI in your browser by running
cilium hubble ui. It will
automatically set up a port forward to the hubble-ui service in your Kubernetes
cluster and make it available on a local port on your machine.
cilium hubble ui Forwarding from 0.0.0.0:12000 -> 8081 Forwarding from [::]:12000 -> 8081
The above command will block and continue running while the port forward is active. You can interrupt the command to abort the port forward and re-run the command to make the UI accessible again.
If your browser has not automatically opened the UI, open the page http://localhost:12000 in your browser. You should see a screen with an invitation to select a namespace, use the namespace selector dropdown on the left top corner to select a namespace:
In this example, we are deploying the Star Wars demo from the Identity-Aware and HTTP-Aware Policy Enforcement guide. However you can apply the same techniques to observe application connectivity dependencies in your own namespace, and clusters for application of any type.
Once the deployment is ready, issue a request from both spaceships to emulate some traffic.
$ kubectl exec xwing -- curl -s -XPOST deathstar.default.svc.cluster.local/v1/request-landing Ship landed $ kubectl exec tiefighter -- curl -s -XPOST deathstar.default.svc.cluster.local/v1/request-landing Ship landed
These requests will then be displayed in the UI as service dependencies between the different pods:
In the bottom of the interface, you may also inspect each recent Hubble flow event in your current namespace individually.
If you enable Layer 7 Protocol Visibility on your pods, the Hubble UI service map will display the HTTP endpoints which are being accessed by the requests.