Rancher dashboard间歇性显示Websocket Disconnected

Rancher Server 设置

  • Rancher 版本:2.6.8
  • 安装选项 (Docker install/Helm Chart): Helm Chart
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:EKS 1.22
  • 在线或离线部署:在线

下游集群信息

  • Kubernetes 版本: 1.23
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 自定义/导入

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):
    • 如果自定义,自定义权限集:admin

主机操作系统:

问题描述: 通过AWS EKS 1.22部署Rancher 2.6.8后,界面时不时提示报错,请问是哪里配置有问题吗?“Websocket Disconnected
The connection to wss://aps1-rancher-beta2.com/v3/subscribe closed unexpectedly Mon, Sep 26 2022 6:46:20 pm. Retrying…”

重现步骤: eksctl create cluster -f uat-rancher-aps1.yaml

helm3 upgrade --install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx
–set controller.service.type=LoadBalancer
–set controller.service.targetPorts.https=80
–set controller.service.annotations.“service.beta.kubernetes.io/aws-load-balancer-ssl-ports"="https
–set controller.service.annotations.“service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled"="true
–set controller.service.annotations.“service.beta.kubernetes.io/aws-load-balancer-ssl-cert"="隐去
–set controller.service.annotations.“service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy"="ELBSecurityPolicy-TLS-1-2-2017-01
–set controller.service.loadBalancerSourceRanges="{IP限制}"
–version 4.0.18
–kube-context rancher.ap-southeast-1

helm3 upgrade --install rancher rancher-stable/rancher --namespace cattle-system
–set hostname=aps1-rancher-beta2.com
–set tls=external
–version 2.6.8
–set replicas=2
–set antAffinity=required
–set ingress.ingressClassName=nginx
–set bootstrapPassword=admin
–kube-context rancher.ap-southeast-1

结果: 弹出提示界面,影响用户体验

预期结果:

截图:
image

其他上下文信息: 在官网github找到一个issue,所以在AWS上外部TLS终止的推荐方式是怎样的?https://github.com/rancher/rancher/issues/32751

日志


试试这个方式:通过 docker run 运行的 Rancher UI,登录后提示 ` Websocket Disconnected`

重新让浏览器信任一下证书。

这个帖子看到过,但是感觉场景不太符合,我们证书是在ELB层做卸载的,不会出现这种不受信任的提示出来

不知道理解得对不对?我看到官方对于外部tls卸载给出的demo也是使用aws elb http侦听器,但是aws elb http模式是不支持websocket协议的,才会报错,正常访问rancher dashboard是通过https,什么样的场景下会使用到websocket协议呢?cluster agent是通过websocket协议与rancher server进行通信?那按照这样理解,导入集群应该也会有问题吧

如果你参考的是这个文档:在 Amazon EKS 上安装 Rancher | Rancher Manager

实际上,这个方式下,证书并不是在ELB终止的。这里ELB是纯粹的4层LB,证书还是在nginx ingress处理。