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.