本文介绍控制台访问集群异常问题的问题现象、问题原因和解决方案。

本文目录

当前集群APIServer请求异常

问题现象

当您在控制台访问集群资源时,出现报错“当前集群APIServer请求异常”,错误码:ErrorQueryClusterNamespace或者APIServer.50088

问题原因

由APIServer负载均衡配置或者状态异常导致容器服务管控与集群APIServer之间连接失败。

解决方案

  1. 登录容器服务管理控制台,在左侧导航栏中选择集群
  2. 集群列表页面中,单击目标集群。
  3. 在集群管理页,单击集群资源页签,然后单击APIServer负载均衡(SLB)后面的链接,跳转到负载均衡管理控制台
    • 如果界面提示负载均衡ID不存在,则说明APIServer的负载均衡实例被删除或释放。集群不可恢复,您需要重新创建集群。详细信息,请参见创建Kubernetes托管版集群
    • 否则,继续执行下一步。
  4. 查看该负载均衡实例的状态是否为运行中
    • 如果否,检查实例是否处于欠费停止(按量付费实例)或到期锁定状态(包年包月实例)。请先完成续费,然后重新启用实例。关于负载均衡的欠费说明,请参见欠费说明
    • 如果是,继续执行下一步。
  5. 查看该负载均衡实例的监听,确认前端和后端是否均存在TCP:6443的监听,且运行状态是否为运行中123
    • 如果否,说明APIServer负载均衡监听被修改。
      • 若监听存在,但处于停止状态,请选择该项监听,然后单击启动
      • 若监听不存在,请参考如下操作处理。
        • 对于托管版集群,请提交工单咨询。
        • 对于专有版集群,请确保将集群Master节点都添加到默认服务器组,然后创建前端、后端均为TCP:6443的监听,监听后端设置为默认服务器组,并启用该监听。添加监听的具体操作,请参见添加TCP监听
    • 如果是,继续执行下一步。
  6. 查看上述监听的健康检查状态是否为正常
    • 如果否,则说明APIServer的负载均衡后端异常。
      • 对于托管版集群,请提交工单咨询。
      • 对于专有版集群,请参考如下内容排查。如问题仍未解决,请提交工单处理。
        • 容器服务管理控制台的集群详情页面,单击集群资源页签。单击Master实例后面的链接,跳转至ECS管理控制台,检查ECS实例是否处于运行中状态。
          说明 请对所有Master实例均做此检查。
        • 通过ECS管理控制台远程登录Master节点,查看APIServer容器是否正常运行。
          1. 登录Master节点,请参见连接方式概述
          2. 登录Master节点后,可以通过以下方式检查APIServer容器的运行状态。
            • 对于使用Docker运行时的集群,执行docker ps | grep kube-apiserver命令,根据命令的输出,使用docker inspect命令检查容器状态。
            • 对于使用Containerd运行时的集群,执行crictl ps | grep kube-apiserver命令,根据命令的输出,使用crictl inspect命令检查容器状态。
    • 如果是,继续执行下一步。
  7. 查看上述监听是否启用了访问控制。
    • 如果是,则说明APIServer的负载均衡监听访问控制白名单未正确配置。在访问控制策略中将地址段100.104.0.0/16添加到白名单,该地址段为ACK管控内部访问APIServer的请求来源地址段。有关访问控制的详细信息,请参见访问控制概述
    • 如果否,继续执行下一步。
  8. 若以上均不符合,请提交工单咨询。

访问容器组日志时报错API Server请求异常

若您在查看容器组日志时遇到该问题,而集群其他资源均可正常访问,您可以按以下步骤排查。
  1. 查看容器组运行状态是否为Running,若不是,请参见Pod异常问题排查
  2. 在节点列表中找到该容器组所在节点,单击实例ID,跳转到ECS管理控制台,单击配置安全组规则83
  3. 检查所有安全组规则,确认是否开放了来自VPC私网、目标端口为TCP/10250的入方向访问,若未开放,请添加上述安全组规则。详细信息,请参见添加安全组规则
  4. 若以上均不符合,请提交工单咨询。

当前账号未被授予该操作所需的集群RBAC权限

问题现象

当您访问控制台时,出现报错“当前账号未被授予该操作所需的集群RBAC权限”,错误码:ForbiddenQueryClusterNamespace或者APISERVER.40391

问题原因

您使用的账号未被授予当前操作所需的集群RBAC权限。

解决方案

  1. 使用阿里云账号或者具有管理员权限的账号登录容器服务管理控制台,在左侧导航栏中选择授权管理
  2. 子账号页签查找出现报错的用户名,单击用户名右侧的管理权限
  3. 授权管理页面,选择对应集群和命名空间,添加所需权限。权限

当前账号未被授予该操作所需的RAM权限

问题现象

当您访问控制台时,出现报错“当前账号未被授予该操作所需的RAM权限”,错误码:StatusForbidden85

问题原因

您使用的账号未被授予当前操作所需的RAM权限。

解决方案

  1. 使用阿里云账号或者具有RAM权限的账号登录RAM管理控制台
  2. 根据错误提示页面的CS信息为您的账号添加相应的授权,例如cs:DescribeKubernetesVersionMetadata。详细操作,请参见自定义RAM授权策略