HubbleUI will not load on a Prefix
Is there an existing issue for this?
- [X] I have searched the existing issues
What happened?
Hello,
I am attempting to deploy the Hubble-UI at /hubble/ path. I've set hubble.ui.baseUrl: /hubble/ . The relay is also enabled, and hubble.ui.ingress.hosts is set accordingly. I am using Traefik as Ingress Controller. When I visit the Hubble-UI with the browser, I get an Unexpected Application Error! 404 Not Found. The hubble-ui backend container does not print much output.
values.yaml used for deployment
k8sServiceHost: "1.2.3.4"
k8sServicePort: "6443"
kubeProxyReplacement: "true"
ipv4NativeRoutingCIDR: "172.30.0.0/16"
ipam:
mode: "cluster-pool"
operator:
clusterPoolIPv4PodCIDRList: "172.30.0.0/20"
clusterPoolIPv4MaskSize: 24
socketLB:
enabled: true
hostNamespaceOnly: true
externalIPs:
enabled: false
nodePort:
enabled: true
hostPort:
enabled: true
hubble:
relay:
enabled: true
rollOutPods: true
ui:
enabled: true
rollOutPods: true
baseUrl: "/hubble/"
ingress:
enabled: true
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
hosts:
- some.domain.net
tls:
- hosts:
- some.domain.net
frontend:
server:
ipv6:
enabled: false
l2announcements:
enabled: true
leaseDuration: 15s
leaseRenewDeadline: 5s
leaseRetryPeriod: 2s
routingMode: "native"
autoDirectNodeRoutes: true
annotateK8sNode: true
bpf:
masquerade: true
enableIPv4BIGTCP: true
Screenshot:
Cilium Version
cilium version Client: 1.15.3 22dfbc58 2024-03-26T11:45:10+01:00 go version go1.21.8 linux/amd64 Daemon: 1.15.3 22dfbc58 2024-03-26T11:45:10+01:00 go version go1.21.8 linux/amd64
Kernel Version
uname -a Linux 6.7.2-1.el7.elrepo.x86_64 cilium/cilium#1 SMP PREEMPT_DYNAMIC Thu Jan 25 21:36:55 EST 2024 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
kubectl version Client Version: v1.28.6 Server Version: v1.28.6
Regression
No response
Sysdump
No response
Relevant log output
<details>
<summary>Logs from hubble-ui/frontend</summary>
frontend 172.30.4.85 - - [16/Apr/2024:12:45:51 +0000] "GET /hubble/ HTTP/1.1" 200 707 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" "2.3.4.5"
frontend 172.30.4.85 - - [16/Apr/2024:12:45:51 +0000] "GET /hubble/bundle.main.1eefac92f118e6b09c6c.css HTTP/1.1" 200 377893 "https://some.domain.net/hubble/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" "2.3.4.5"
frontend 172.30.4.85 - - [16/Apr/2024:12:45:51 +0000] "GET /hubble/bundle.main.1a26ffb78b602508bbc6.js HTTP/1.1" 200 1783875 "https://some.domain.net/hubble/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" "2.3.4.5"
frontend 172.30.4.85 - - [16/Apr/2024:12:45:51 +0000] "GET /hubble/bundle.main.1eefac92f118e6b09c6c.css.map HTTP/1.1" 200 416895 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" "2.3.4.5"
frontend 172.30.4.85 - - [16/Apr/2024:12:45:51 +0000] "GET /hubble/bundle.main.1a26ffb78b602508bbc6.js.map HTTP/1.1" 200 6111943 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" "2.3.4.5"
frontend 172.30.4.85 - - [16/Apr/2024:12:45:51 +0000] "GET /hubble/favicon.ico HTTP/1.1" 200 33310 "https://some.domain.net/hubble/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" "2.3.4.5"
frontend 172.30.3.140 - - [16/Apr/2024:12:45:54 +0000] "GET / HTTP/1.1" 200 707 "-" "kube-probe/1.28" "-"
```
Anything else?
No response
Cilium Users Document
- [ ] Are you a user of Cilium? Please add yourself to the Users doc
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Rolling back the hubble-ui components to 0.12.3 is a temporary workaround for this issue as hinted by #854
fwiw, I tried 0.13.1 Frontend/Backend with cilium v0.16.0-pre3 and failed to make it work.
Tried to revert FE/BE to 0.12.3 and it still didn't work; while I get the js bundles serverd back under the /hubble/ baseUrl, the application renders the same "Unexpected application error"
We are also experiencing this issue after deploying cilium with hubble-ui enabled to an rke2 cluster, using "hostless" ingress, nginx ingress controller, and path based routing:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: path-ingress
namespace: kube-system
spec:
rules:
- http:
paths:
- path: /hubble/
pathType: Prefix
backend:
service:
name: hubble-ui
port:
name: http