集群巡检项及解决方案

更新时间:2024-12-24 06:18:57

容器智能运维平台提供定时巡检功能。您可以设置巡检的定时规则,定期检查集群存在的风险预警。本文介绍集群巡检的常见风险预警以及解决方案。

集群巡检项

说明
  • 关于如何使用集群巡检功能,请参见使用集群巡检

  • 根据集群配置,具体巡检项可能稍有不同。实际结果请以检查报告结果为准。

SLB后端服务器配额紧张

异常影响:检查SLB实例可以挂载后端服务器配额。SLB后端可挂载的ECS数量有限制。当LoadBalancer类型的Service规模较大时,Pod分布在多个ECS上,当ECS数量超过SLB后端可挂载的ECS数量限制时,超出部分的ECS将无法配置到SLB上。

解决方案:默认情况下一个SLB实例可以挂载200个后端服务器。如需超过默认值,请到配额平台提交申请扩容。关于配额限制,参见配额限制。关于负载均衡注意事项,请参见Service的负载均衡配置注意事项

SLB可监听数配额紧张

异常影响:检查SLB实例监听数。SLB可配置的监听数量有限,每个LoadBalancer类型的Service,其监听的每个端口对应一个SLB的监听。当端口数达到SLB监听上限时,超出部分的端口将无法正常提供服务。

解决方案:默认情况下一个SLB实例可以添加50个监听。如需超过默认值,请到配额平台提交申请扩容。关于配额限制,参见配额限制。关于负载均衡注意事项,请参见Service的负载均衡配置注意事项

SLB实例数配额紧张

异常影响:检查SLB实例剩余配额是否小于5个。每个LoadBalancer类型的Kubernetes Service创建一个SLB实例,SLB配额耗尽后,新创建的LoadBalancer类型Service无法正常工作。

解决方案:默认情况下一个用户可以保留60SLB实例,如需超过默认值,请到配额平台提交申请扩容。关于负载均衡注意事项,请参见Service的负载均衡配置注意事项

SLB带宽使用率过高

异常影响:检查SLB过去三天网络流出带宽的最大值是否达到上限的80%以上。当带宽达到上限后,可能产生SLB上的丢包,导致请求抖动、延迟。

解决方案:SLB实例网络带宽使用率过高,您需要提升实例规格。具体操作,请参见使用指定的SLB实例

SLB最大连接数过高

异常影响:检查SLB过去三天最大连接数是否达到上限的80%以上。当连接数达到上限后,短时间内无法建立新连接,导致客户端无法访问。

解决方案:若过去三天内SLB实例连接数过高,达到最大连接数的80%。超过SLB连接数最大值会导致客户端无法访问。为避免业务受损,您需要提升实例规格。具体操作,请参见使用指定的SLB实例

SLB新建连接速率过高

异常影响:检查SLB过去三天最大新建连接速率是否达到上限的80%以上。当新建连接速率达到上限后,短时间内无法建立新连接,导致客户端无法访问。

解决方案:若过去三天内SLB实例新建连接速率过高,达到每秒最大新建连接数的80%。新建连接数达到SLB每秒最大新建连接数的最大值会导致客户端无法访问。为避免业务受损,您需要提升实例规格。具体操作,请参见使用指定的SLB实例

SLB QPS过高

异常影响:检查SLB过去三天最大QPS是否达到上限的80%以上。当QPS达到上限后,可能导致客户端无法访问。

解决方案:若过去三天内SLB实例QPS过高,达到最大QPS80%。超过SLB QPS最大值会导致客户端无法访问。为避免业务受损,您需要提升实例规格。具体操作,请参见使用指定的SLB实例

集群Pod网段余量紧张

异常影响:检查Flannel集群剩余可用PodCIDR网段是否少于5个。每个节点消耗一个PodCIDR网段,集群可添加的节点少于5个。Pod网段耗尽后,新添加的节点将无法正常工作。

解决方案:请您提交工单处理。

vSwitch剩余IP不足

异常影响:检查Terway集群内配置的vSwitch剩余IP是否小于10个,每个Pod占用一个IP。当可用IP耗尽后,新创建的Pod将无法分配IP,所以无法正常启动。

解决方案:您需要尽快扩容或更换vSwitch。具体操作,请参见容器服务KubernetesTerway网络场景中交换机的IP资源不足

Ingress Controller SLB新建连接速率检查

异常影响:检查SLB过去三天最大新建连接速率是否达到上限的80%。新建连接速率达到上限后,短时间内无法建立新连接,可能导致客户端无法访问。

解决方案:SLB实例新建连接速率过高,为避免业务受损,您需要提升实例规格。具体操作,请参见使用指定的SLB实例

Ingress Controller SLB QPS检查

异常影响:检查SLB过去三天最大QPS是否达到上限的80%。QPS达到上限后,可能导致客户端无法访问。

解决方案:SLB实例QPS过高,为避免业务受损,您需要提升实例规格。具体操作,请参见使用指定的SLB实例

集群控制面vSwitch剩余IP

异常影响:集群控制面的vSwitch剩余IP少于6个,控制面组件可能将分配不到IP无法正常启动。

解决方案:

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

  2. 基本信息页签,定位控制面交换机区域,单击配置项对应的编辑,仔细阅读页面注意事项并按照页面提示新增或更换vSwitch。

集群版本过低

异常影响:集群版本即将或者已经超出支持期限。ACK仅保障支持最近三个Kubernetes版本的稳定运行。过期版本的集群存在运行不稳定和集群升级失败的风险。关于ACK版本机制和Kubernetes版本发布记录,请参见Kubernetes版本概览及机制

解决方案:若集群版本即将或者已经超出支持期限,请您尽快升级集群。具体操作,请参见升级集群和独立升级集群控制面和节点池

CoreDNS版本过低

异常影响:集群内CoreDNS组件版本过低,会导致业务出现DNS解析问题。最新版的CoreDNS提供了更好的稳定性配置和新的功能。

解决方案:为避免业务出现DNS解析问题,您需要尽快升级CoreDNS 。具体操作,请参见CoreDNS手动升级

集群组件更新检查

异常影响:检查集群中关键组件是否需要更新版本。

解决方案:您的集群中部分组件需要尽快更新版本,您可以在容器服务控制台升级相关组件。

CoreDNS ConfigMap配置

异常影响:检查CoreDNS ConfigMap配置是否异常,异常配置将会影响组件正常运行。

解决方案:请检查CoreDNS ConfigMap配置。更多信息,请参见DNS最佳实践

CoreDNS部署位置

异常影响:检查CoreDNS实例是否部署在Master节点上,CoreDNS运行在Master节点上可能导致Master带宽过高,影响控制面正常运行。

解决方案:请将CoreDNS副本部署到Worker节点上。具体操作,请参见DNS解析异常问题排查

CoreDNS节点高可用

异常影响:检查CoreDNS实例部署形态,CoreDNS多个实例部署在同一节点上存在单点故障的风险,当节点出现故障、重启时CoreDNS将无法提供服务,影响业务正常运行。

解决方案:请将CoreDNS副本部署到不同的节点上。具体操作,请参见DNS解析异常问题排查

DNS服务后端的服务端点

异常影响:检查集群DNS服务关联的后端DNS服务器数,如果为0,DNS服务将无法使用。

解决方案:检查CoreDNS Pod运行状态和运行日志,排查DNS问题。具体操作,请参见DNS解析异常问题排查

DNS服务的ClusterIP检查

异常影响:检查集群DNS服务的Cluster IP是否正常分配,集群DNS服务异常会造成集群功能异常,影响业务。

解决方案:检查CoreDNS Pod运行状态和运行日志,排查DNS问题。具体操作,请参见DNS解析异常问题排查

集群NAT网关状态

异常影响:检查集群NAT网关状态。

解决方案:请登录NAT网关管理控制台检查集群的NAT网关是否处于欠费锁定状态,及时处理。

集群NAT网关并发超规格丢弃速率

异常影响:检查NAT网关会话并发超规格丢弃速率是否过高。

解决方案:若集群NAT网关会话并发超规格丢弃速率过高,请尝试通过升级NAT网关的规格解决,具体操作,请参见普通型公网NAT网关升级至增强型公网NAT网关FAQ

NodeLocal DNSCache DNS配置自动注入

异常影响:检查NodeLocal DNSCache DNS配置自动注入是否开启。NodeLocal DNSCache只会在注入DNS配置后生效,如果没有开启自动注入,DNS缓存能力可能处于尚未生效状态。

解决方案:开启NodeLocal DNSCache DNS配置自动注入。具体操作,请参见使用NodeLocal DNSCache

API Server SLB访问控制配置

异常影响:检查集群API Server SLB 访问控制配置是否正确。即集群API Server负载均衡访问控制是否放开集群VPC网段及100.104.0.0/16,访问控制配置错误会造成集群不可用。

解决方案:请检查API Server SLB访问控制并及时调整。

API Server SLB实例后端状态

异常影响:检查ACK专有集群API Server SLB实例后端状态。ACK专有集群API Server负载均衡实例后端需包含Master节点机器,否则会造成流量转发异常。

解决方案:请调整负载均衡实例转发配置,将其加入Master节点机器。

API Server SLB 6443端口监听配置

异常影响:检查集群API Server SLB 6443端口监听配置。若配置异常,将导致集群无法访问。

解决方案:集群API Server负载均衡实例6443端口监听配置异常,请调整负载均衡实例监听设置,恢复至集群创建时状态。

API Server SLB实例

异常影响:检查集群API Server负载均衡实例是否存在。若集群API Server负载均衡实例不存在,会造成集群不可用。

解决方案:请检查负载均衡实例是否存在,如果确认误删除,请提交工单处理。

API Server SLB实例状态

异常影响:检查集群API Server SLB实例状态。若实例状态异常,将会影响集群可用性。

解决方案:请检查负载均衡实例状态是否正常。

Ingress Controller SLB健康检查失败检查

异常影响:检查SLB过去三天是否存在健康检查失败的情况,可能由于组件负载过高或配置错误引起。

解决方案:若过去三天内存在健康检查失败。为避免业务受损,请检查Ingress Controller Service是否有异常事件,组件负载是否过高。关于异常问题排查,请参见Nginx Ingress异常问题排查

Ingress就绪Pod百分比

异常影响:检查Ingress Deployment已就绪的Pod百分比,小于100表明Ingress Pod可能出现问题,无法正常启动或健康检查失败。

解决方案:通过Pod诊断或Ingress异常排查文档查找问题Pod。关于异常问题排查,请参见Nginx Ingress异常问题排查

Ingress Controller Pod错误日志

异常影响:检查Ingress Controller Pod中是否存在错误日志。出现错误日志,表示Ingress Controller可能工作异常。

解决方案:根据错误日志,查找原因并修复问题。关于异常问题排查,请参见Nginx Ingress异常问题排查

Nginx Ingressrewrite-target配合捕获组使用

异常影响:检查使用了rewrite-targetNginx Ingress规则是否与捕获组一起使用。在0.22.0及以上的Ingress Controller版本中使用rewrite-target时,需要显式指定捕获组,否则会造成流量转发异常。

解决方案:请重新配置规则。具体操作,请参见Nginx Ingress高级用法

Nginx Ingress灰度规则

异常影响:检查service-matchservice-weight是否指定不超过2个的目标服务。service-matchservice-weight目前仅支持2个服务间的流量分发,配置大于2个将导致多出的配置被忽略,出现流量不符合预期的情况。

解决方案:请调整规则中服务的数量。

Nginx Ingress使用正确的Annotation

异常影响:检查社区版Nginx Ingress Controller是否使用nginx.ingress.kubernetes.io开头的Annotation,而不是以nginx.com/nginx.org开头。使用nginx.com/nginx.org开头的Annotation,将无法被Nginx Ingress Controller识别,造成配置无效或不符合预期的情况。

解决方案:请选择所需功能的Annotation使用。关于Annotation更多信息,请参见阿里云官方文档或社区文档

废弃组件检查

异常影响:检查集群是否安装使用已经废弃的组件。

解决方案:请检查您的集群中是否安装或正在使用alicloud-application-controller组件,该组件目前已经下线且停止维护,安装或使用该组件可能会影响集群升级和正常使用。请尽快卸载已经废弃的组件。具体操作,请参见管理组件

检查是否存在多个Service复用同一个SLB同一个端口

异常影响:如果多个Service复用同一个SLB的同一个端口,会导致服务异常。

解决方案:请修改或删除冲突的Service,确保多个Service复用同一个SLB时使用不同的端口。

  • 本页导读 (1)
  • 集群巡检项
  • SLB后端服务器配额紧张
  • SLB可监听数配额紧张
  • SLB实例数配额紧张
  • SLB带宽使用率过高
  • SLB最大连接数过高
  • SLB新建连接速率过高
  • SLB QPS过高
  • 集群Pod网段余量紧张
  • vSwitch剩余IP不足
  • Ingress Controller SLB新建连接速率检查
  • Ingress Controller SLB QPS检查
  • 集群控制面vSwitch剩余IP
  • 集群版本过低
  • CoreDNS版本过低
  • 集群组件更新检查
  • CoreDNS ConfigMap配置
  • CoreDNS部署位置
  • CoreDNS节点高可用
  • DNS服务后端的服务端点
  • DNS服务的ClusterIP检查
  • 集群NAT网关状态
  • 集群NAT网关并发超规格丢弃速率
  • NodeLocal DNSCache DNS配置自动注入
  • API Server SLB访问控制配置
  • API Server SLB实例后端状态
  • API Server SLB 6443端口监听配置
  • API Server SLB实例
  • API Server SLB实例状态
  • Ingress Controller SLB健康检查失败检查
  • Ingress就绪Pod百分比
  • Ingress Controller Pod错误日志
  • Nginx Ingress中rewrite-target配合捕获组使用
  • Nginx Ingress灰度规则
  • Nginx Ingress使用正确的Annotation
  • 废弃组件检查
  • 检查是否存在多个Service复用同一个SLB同一个端口