Skip to content

Observability & Troubleshooting for Kubernetes Services

License

Notifications You must be signed in to change notification settings

epfl-si/hubble-ui-epfl

 
 

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

Local Frontend and Backend

The following procedure lets Hubble UI connect to an already existing Hubble relay instance in Kubernetes / OpenShift. It requires running your own backend locally, which in turn requires the capability to build Go programs on your workstation.

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

    cd backend
    ./ctl.sh run

    Wait until the build is done and the server is running.

  2. In a separate terminal, run a port forward to the Hubble relay:

    kubectl port-forward -n cilium-system deployment/hubble-relay 50051:4245
  3. In yet another separate terminal, run the front-end:

    npm install
    npm run dev
  4. Browse http:https://localhost:8080

Local Frontend, In-Cluster Backend

  1. Run a port forward to the Hubble UI back-end:

    kubectl port-forward -n hubble service/hubble-ui-epfl 8090:81
  2. In a separate terminal, run the front-end:

    npm install
    npm run dev
  3. Browse http:https://localhost:8080

Docker 🐳

Build the backend Docker image:

make hubble-ui-backend

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

About

Observability & Troubleshooting for Kubernetes Services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 81.5%
  • Go 15.5%
  • SCSS 1.7%
  • JavaScript 0.6%
  • Shell 0.3%
  • Makefile 0.2%
  • Other 0.2%