Skip to content

cilium/hubble-ui

Repository files navigation

Hubble UI

Hubble UI is an open-source user interface for Cilium Hubble.

🚀 Installation

Hubble UI is installed as part of Hubble. Please see the Hubble Getting Started Guide for instructions.

🌐 Why Hubble UI?

Troubleshooting microservices application connectivity is a challenging task. Simply looking at kubectl get pods does not indicate dependencies between each service, external APIs, or databases.

Hubble UI enables zero-effort automatic discovery of the service dependency graph for Kubernetes Clusters at L3/L4 and even L7, allowing user-friendly visualization and filtering of those dataflows as a Service Map.

See Hubble Getting Started Guide for details.

Service Map

🛠 Development

Backend

If you want to point the frontend to a backend deployed in Minikube, simply create a port forward.

kubectl port-forward -n kube-system deployment/hubble-ui 8081

To make changes to the Go backend, there are additional steps.

  1. Go to the 📁 backend directory and execute ./ctl.sh.

    cd ./backend
    ./ctl.sh run

    Wait until the build and server are running.

  2. In a separate terminal, enter the 📁 server directory containing the Envoy config.

    cd ./server

    Assuming Envoy has already been installed, execute:

    envoy -c ./envoy.yaml
  3. In a separate terminal, run a port forward to Hubble Relay.

    kubectl port-forward -n kube-system deployment/hubble-relay 50051:4245

Docker 🐳

Build the backend Docker image:

make hubble-ui-backend

Frontend

  1. Install dependencies.
npm install
  1. Start the development server.
npm run watch
  1. Open http://localhost:8080

Docker 🐳

Build the frontend Docker image:

make hubble-ui

🐝 Community

Learn more about the Cilium community.

🌏 Releases

Push a tag into GitHub and ping a maintainer to accept the GitHub action run which pushes the built images into the official repositories.

⚖️ License

Apache License, Version 2.0