本文介绍控制台访问集群异常问题的问题现象、问题原因和解决方案,例如当前集群API Server请求异常、访问容器组日志时报错API Server请求异常、当前账号未被授予该操作所需的集群RBAC权限等。
当前集群API Server请求异常ErrorQueryClusterNamespace
或APIServer.500
问题现象
当您在控制台访问集群资源时,出现报错“当前集群APIServer请求异常”,错误码:ErrorQueryClusterNamespace
或APIServer.500
。
问题原因
由API Server负载均衡配置或者状态异常导致容器服务管控与集群API Server之间连接失败。
解决方案
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息。
单击基本信息页签,然后单击API server 负载均衡(SLB)对应的实例ID,跳转至负载均衡管理控制台。
如果界面提示负载均衡ID不存在,则表明API Server的负载均衡实例已被删除或释放,集群不可恢复。请参见创建ACK托管集群重新创建集群。
如有,继续执行后续操作。
查看该负载均衡实例的状态是否为运行中。
如果为否,检查实例是否处于欠费或到期状态。如是,请先完成续费,然后重新启用实例。关于负载均衡的欠费说明,请参见欠费说明。
如果是,继续执行后续操作。
单击监听,查看该负载均衡实例的监听,确认前端和后端是否均存在TCP:6443的监听,且运行状态是否为运行中。
查看上述监听的健康检查状态是否为正常。
如果否,则表明API Server的负载均衡后端异常。
ACK托管集群:提交工单咨询。
ACK专有集群:请参见如下内容排查。如问题仍未解决,请提交工单处理。
在容器服务管理控制台的 ,逐一检查Master实例的节点状态:单击Master节点对应的ECS实例ID,跳转至ECS管理控制台,检实例是否处于运行中状态。
在ECS管理控制台逐一远程登录Master节点,查看API Server容器是否正常运行。
登录Master节点,请参见ECS远程连接方式概述。
通过以下方式检查API Server容器的运行状态。
Docker运行时:执行
docker ps | grep kube-apiserver
命令,根据命令的输出,使用docker inspect
命令检查容器状态。containerd运行时:执行
crictl ps | grep kube-apiserver
命令,根据命令的输出,使用crictl inspect
命令检查容器状态。
如果是,继续执行后续操作。
查看上述监听是否启用了访问控制。
如果是,则表明API Server的负载均衡监听访问控制白名单未正确配置。需在访问控制策略中将地址段
100.104.0.0/16
添加到白名单,该地址段为ACK管控内部访问API Server的请求来源地址段。如果否,继续执行后续操作。
若以上均不符合,请提交工单咨询。
访问容器组日志时报错API Server请求异常
当前账号未被授予该操作所需的集群RBAC权限ForbiddenQueryClusterNamespace
或APISERVER.403
问题现象
当您访问控制台时,出现报错“当前账号未被授予该操作所需的集群RBAC权限”,错误码:ForbiddenQueryClusterNamespace
或APISERVER.403
。
问题原因
您使用的账号未被授予当前操作所需的集群RBAC权限。
解决方案
使用阿里云账号或者具有管理员权限的账号登录容器服务管理控制台,在左侧导航栏中选择授权管理。
在RAM用户页签,查找出现报错的用户名,单击用户名右侧的管理权限。
单击添加权限,选择对应集群、命名空间和权限管理,单击提交授权。
当前账号未被授予该操作所需的RAM权限StatusForbidden
问题现象
当您访问控制台时,出现报错“当前账号未被授予该操作所需的RAM权限”,错误码:StatusForbidden
。
问题原因
您使用的账号未被授予当前操作所需的RAM权限。
解决方案
使用阿里云账号或者具有RAM权限的账号登录RAM管理控制台。
根据错误提示页面的CS信息为您的账号添加相应的授权,例如cs:DescribeKubernetesVersionMetadata。详细操作,请参见使用RAM授予集群及云资源访问权限。