-
We're trying to get linkerd VIZ to work on our Azure AKS cluster and have done the following: Created namespace linkerd Installed and configured the Nginx Ingress contoller. Installed the Ingress resource, so that Linkerd-viz dashboard can be accessed through Ingress, instead of port-forwarding. We are able to access Linkerd-viz dashboard from ingress as well. Now, from here the issue starts - With in the Deployements, if we click the sub-links “linkerd-destination” for example, we are getting error message, An error has occurred. Websocket error: undefined, because of that we are unable to see any live calls. This is happening for all the sublinks when we are accesing the ,linkerd-viz dashboard through ingress. Everything work perfectly fine, when we access the dashboard through the direct connection (ie port forwarding → http://localhost:8084/) wss://mydomain.com/api/tap’ failed: we see above error, when we perform from the dashboard , right-click → inspect → Console Attached the error screen shot and the ingress resource yaml file for you reference (see below). We've tried adding all the annotations that others have posted, namely these two:
But it has not helped. We're still getting the websocket errors. Is there any updated solution to enable websockets to work with our ingress? Or should we switch to another ingress like Traefik instead? apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/auth-realm: Authentication Required
nginx.ingress.kubernetes.io/auth-secret: web-ingress-auth
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/backend-protocol: HTTP
nginx.ingress.kubernetes.io/connection-proxy-error: keep-alive
nginx.ingress.kubernetes.io/connection-proxy-header: keep-alive
nginx.ingress.kubernetes.io/enable-websocket: 'true'
nginx.ingress.kubernetes.io/proxy-buffering: 'off'
nginx.ingress.kubernetes.io/proxy-connect-timeout: '6000'
nginx.ingress.kubernetes.io/proxy-http-version: '1.1'
nginx.ingress.kubernetes.io/proxy-read-timeout: '6000'
nginx.ingress.kubernetes.io/proxy-send-timeout: '6000'
nginx.ingress.kubernetes.io/proxy-websocket: 'true'
nginx.ingress.kubernetes.io/proxy_set_header.Connection: Upgrade
nginx.ingress.kubernetes.io/proxy_set_header.Upgrade: websocket
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/server-snippets: |
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header Connection "Upgrade";
proxy_cache_bypass $http_upgrade;
proxy_pass http://web:8084;
proxy_set_header Upgrade websocket;
}
nginx.ingress.kubernetes.io/upstream-vhost: web.linkerd-viz.svc.cluster.local:8084
nginx.ingress.kubernetes.io/use-forwarded-headers: 'true'
nginx.ingress.kubernetes.io/websocket-services: web
nginx.org/websocket-services: web
name: web-ingress
namespace: linkerd-viz
spec:
ingressClassName: nginx
rules:
- host: mydomain.com
http:
paths:
- backend:
service:
name: web
port:
number: 8084
path: /
pathType: Prefix
tls:
- hosts:
- mydomain.com
secretName: aks-ingress-tls |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
We finally figured it out by looking at some Azure support documentation. Here is how we fixed the issue by removing all the annotations and used only these: nginx.ingress.kubernetes.io/cors-allow-methods: GET, PUT, POST, DELETE, OPTIONS
nginx.ingress.kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: 10m
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
nginx.ingress.kubernetes.io/websocket-services: web |
Beta Was this translation helpful? Give feedback.
We finally figured it out by looking at some Azure support documentation.
Here is how we fixed the issue by removing all the annotations and used only these: