升级2.6.7后其中一个下游集群UI提示error: You must be logged in to the server

Rancher Server 设置

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

下游集群信息

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

用户信息

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

主机操作系统:
CentOS7.9

问题描述:
升级rancher2.6.7后,其中一个下游集群有错误提示,其他下游集群正常。: Error while applying agent YAML, it will be retried automatically: exit status 1, error: You must be logged in to the server (the server has asked for the client to provide credentials)

重现步骤:

结果:

预期结果:
无错误提示

截图:

其他上下文信息:
我使用rancher CLI 登录此下游集群后,报错没有了;我不确定什么原因,不确定具体问题出在哪里,和我使用CLI登录集群有没有关系呢。

[/details]

当某个下游集群注册到Rancher后,Rancher回保留一个较高访问权限的credential,用于后续的基础组件操作。

当升级Rancher时,下游集群的agent也同样需要更新,此时需要这个credential调用k8s api更新agent相关的workload。

出现本帖提到的错误时,是由于这个credential失效了,无法对下游的kube-api正常调用。失效的原因包括很多种,比如它关联的RoleBinding被搞坏,credential对应的serviceaccounts被删除等等。不过,大部分情况下Rancher会自动重建相关的credential。