控制台访问集群异常问题排查

本文介绍控制台访问集群异常问题的问题现象、问题原因和解决方案,例如当前集群API Server请求异常、访问容器组日志时报错API Server请求异常、当前账号未被授予该操作所需的集群RBAC权限等。

当前集群API Server请求异常ErrorQueryClusterNamespaceAPIServer.500

问题现象

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

问题原因

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

解决方案

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息

  3. 单击基本信息页签,然后单击API server 负载均衡(SLB)对应的实例ID,跳转至负载均衡管理控制台

    • 如果界面提示负载均衡ID不存在,则表明API Server的负载均衡实例已被删除或释放,集群不可恢复。请参见创建ACK托管集群重新创建集群。

    • 如有,继续执行后续操作。

  4. 查看该负载均衡实例的状态是否为运行中

    • 如果为否,检查实例是否处于欠费或到期状态。如是,请先完成续费,然后重新启用实例。关于负载均衡的欠费说明,请参见欠费说明

    • 如果是,继续执行后续操作。

  5. 单击监听,查看该负载均衡实例的监听,确认前端和后端是否均存在TCP:6443的监听,且运行状态是否为运行中

    • 如果为否,则表明API Server的负载均衡监听被修改。

      • 若监听存在,但处于停止状态,请选择该项监听,然后单击启动

      • 若监听不存在,请参见如下操作。

        • ACK托管集群提交工单咨询。

        • ACK专有集群:请确保将集群Master节点都已添加至默认服务器组,然后创建前端、后端均为TCP:6443的监听,监听后端设置为默认服务器组,并启用该监听。添加监听的具体操作,请参见添加TCP监听

    • 如果是,继续执行后续操作。

  6. 查看上述监听的健康检查状态是否为正常

    • 如果否,则表明API Server的负载均衡后端异常。

      • ACK托管集群提交工单咨询。

      • ACK专有集群:请参见如下内容排查。如问题仍未解决,请提交工单处理。

        • 容器服务管理控制台节点管理 > 节点,逐一检查Master实例的节点状态:单击Master节点对应的ECS实例ID,跳转至ECS管理控制台,检实例是否处于运行中状态。

        • ECS管理控制台逐一远程登录Master节点,查看API Server容器是否正常运行。

          1. 登录Master节点,请参见ECS远程连接方式概述

          2. 通过以下方式检查API Server容器的运行状态。

            • Docker运行时:执行docker ps | grep kube-apiserver命令,根据命令的输出,使用docker inspect命令检查容器状态。

            • containerd运行时:执行crictl ps | grep kube-apiserver命令,根据命令的输出,使用crictl inspect命令检查容器状态。

    • 如果是,继续执行后续操作。

  7. 查看上述监听是否启用了访问控制。

    • 如果是,则表明API Server的负载均衡监听访问控制白名单未正确配置。需在访问控制策略中将地址段100.104.0.0/16添加到白名单,该地址段为ACK管控内部访问API Server的请求来源地址段。

    • 如果否,继续执行后续操作。

  8. 若以上均不符合,请提交工单咨询。

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

若您在查看容器组日志时遇到该问题,而集群其他资源均可正常访问,您可以按以下步骤排查。

  1. 查看容器组运行状态是否为Running。若不是,请参见Pod异常问题排查

  2. 节点管理 > 节点页面的节点列表中找到该容器组所在节点,单击对应的ECS实例ID,跳转到ECS管理控制台,单击安全组

  3. 检查所有安全组规则,确认是否开放了来自VPC私网、目标端口为TCP/10250的入方向访问。若未开放,请参见添加安全组规则添加对应的安全组规则。

  4. 若以上均不符合,请提交工单咨询。

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

问题现象

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

问题原因

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

解决方案

  1. 使用阿里云账号或者具有管理员权限的账号登录容器服务管理控制台,在左侧导航栏中选择授权管理

  2. RAM用户页签,查找出现报错的用户名,单击用户名右侧的管理权限

  3. 单击添加权限,选择对应集群、命名空间和权限管理,单击提交授权

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

问题现象

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

问题原因

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

解决方案

  1. 使用阿里云账号或者具有RAM权限的账号登录RAM管理控制台

  2. 根据错误提示页面的CS信息为您的账号添加相应的授权,例如cs:DescribeKubernetesVersionMetadata。详细操作,请参见使用RAM授予集群及云资源访问权限