Skip to content

AKS Downstream Cluster not Available with Websockets failing

This document (000020767) is provided subject to the disclaimer at the end of this document.

Environment

Rancher 2.6.x

AKS 1.22+

Situation

After upgrading AKS to version 1.22+ users may experience a situation where the Downstream clusters show as unavailable on Rancher.

Testing the Websocket using these instructions will show the following error:

Bad Request
{"baseType":"error","code":"ServerError","message":"websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header","status":400,"type":"error"}

Resolution

Update the Kubernetes Ingress NGINX with the tag --set controller.watchIngressWithoutClass=true:

helm upgrade --install \
  ingress-nginx ingress-nginx/ingress-nginx \
  --namespace ingress-nginx \
  --set controller.service.type=LoadBalancer \
  --version 4.0.18 \
  --create-namespace \
  --set controller.watchIngressWithoutClass=true

Alternatively, on Rancher 2.6.7 onward, you can add the class name on the helm install/upgrade steps :

--set ingress.ingressClassName=nginx

Cause

Kubernetes version 1.22 deprecated versions of the Ingress APIs in favor of the stable networking.k8s.io/v1 API. That leads to this scenario, where we update the controller.watchIngressWithoutClass tag.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.