Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HubbleUI still does not load on a Prefix #971

Open
rptaylor opened this issue Feb 20, 2025 · 1 comment
Open

HubbleUI still does not load on a Prefix #971

rptaylor opened this issue Feb 20, 2025 · 1 comment

Comments

@rptaylor
Copy link

rptaylor commented Feb 20, 2025

It seems like the issue from #889 , #854 etc. still remains in v0.13.2 after #941

I install Cilium 1.16.7 with these values:

cluster:
  name: mycluster.local

hubble:
  tls:
    auto:
      enabled: true
  relay:
    enabled: true
    securityContext:
      allowPrivilegeEscalation: false
    podSecurityContext:
      seccompProfile:
        type: RuntimeDefault
  ui:
    enabled: true
    baseUrl: /hubble/
    ingress:
      enabled: true
      hosts:
        - mycluster.example.org
    securityContext:
      runAsNonRoot: true
      seccompProfile:
        type: RuntimeDefault
    frontend:
      image:
        tag: v0.13.2
        useDigest: false
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
            - ALL
    backend:
      image:
        tag: v0.13.2
        useDigest: false
      securityContext:
        allowPrivilegeEscalation: false
        capabilities:
          drop:
            - ALL
  peerService:
    clusterDomain: mycluster.local

rollOutCiliumPods: true

ingressController:
  enabled: false

routingMode: native
autoDirectNodeRoutes: true
ipv4NativeRoutingCIDR: 10.232.0.0/16

kubeProxyReplacement: true
k8sServiceHost: localhost
k8sServicePort: 6443

ipam:
  operator:
    clusterPoolIPv4PodCIDRList:
      - 10.232.0.0/16
    clusterPoolIPv4MaskSize: 24

operator:
  replicas: 2
  prometheus:
    enabled: true
  podSecurityContext:
    seccompProfile:
      type: RuntimeDefault
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
        - ALL

Then https://mycluster.example.org/hubble/ shows:

Unexpected Application Error!
404 Not Found

💿 Hey developer 👋

You can provide a way better UX than this when your app throws errors by providing your own ErrorBoundary or errorElement prop on your route.

It is the same error if I bypass ingress and access the pod via kubectl port-forward --namespace cilium svc/hubble-ui 8081:80 --address 0.0.0.0 and connect to myip:8081/hubble/, however myip:8081/ works (but this will not work with our path-based ingress model).

At every level (pod, ingress, cluster IP, etc) I can get the HTML and I see the same output is served on both / and /hubble/:

$ curl http://10.233.160.173:80/
<!doctype html><html><head><meta charset="utf-8"/><title>Hubble UI</title><base href="/hubble/"/><meta name="color-scheme" content="only light"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,user-scalable=0,initial-scale=1,minimum-scale=1,maximum-scale=1"/><link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png"/><link rel="shortcut icon" href="favicon.ico"/><script defer="defer" src="bundle.main.d3dae0fa32e1af6f7354.js"></script><link href="bundle.main.250ac4c5d4e736844d1e.css" rel="stylesheet"></head><body><div id="app" class="test"></div></body></html>

$ curl http://10.233.160.173:80/hubble/
<!doctype html><html><head><meta charset="utf-8"/><title>Hubble UI</title><base href="/hubble/"/><meta name="color-scheme" content="only light"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,user-scalable=0,initial-scale=1,minimum-scale=1,maximum-scale=1"/><link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png"/><link rel="shortcut icon" href="favicon.ico"/><script defer="defer" src="bundle.main.d3dae0fa32e1af6f7354.js"></script><link href="bundle.main.250ac4c5d4e736844d1e.css" rel="stylesheet"></head><body><div id="app" class="test"></div></body></html>

Likewise for http://10.233.160.173:80/bundle.main.d3dae0fa32e1af6f7354.js , http://10.233.160.173:80/hubble/bundle.main.250ac4c5d4e736844d1e.css, indicating that the (putatively) correct content is being served on the /hubble/ path as expected, but it is nevertheless somehow generating an application error in the web framework. I don't see any way to get debug logs from the hubble UI pod

@rptaylor
Copy link
Author

If I downgrade from 0.13.2 to 0.12.3 as suggested here #889 (comment) then the path-based ingress works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant