集群巡检项及解决方案

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

集群巡检项及预警风险

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

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

检查类型

巡检项

预警风险

资源配额

ResourceQuotas

SLB实例数配额检查

VPC内SLB配额紧张

SLB后端服务器配额检查

SLB后端服务器配额紧张

SLB可监听数配额检查

SLB可监听数配额紧张

资源水位

ResourceLevel

SLB带宽使用率检查

SLB带宽使用率过高

SLB最大连接数检查

SLB最大连接数过高

SLB新建连接速率检查

SLB新建连接速率过高

SLB QPS检查

SLB QPS过高

版本证书

Versions&Certificates

集群Kubernetes版本检查

集群版本过低

集群风险

ClusterRisk

API Server SLB实例存在

API Server SLB实例存在

API Server SLB实例状态

API Server SLB实例状态

API Server SLB 6443端口监听配置

API Server SLB实例6443端口监听配置

API ServerSLB访问控制配置

API Server SLB访问控制配置

DNS 服务 ClusterIP

DNS服务 ClusterIP

DNS 服务后端服务端点

DNS服务后端服务端点

多个Service复用同一个SLB同一个端口

多个Service复用同一个SLB同一个端口

VPC内SLB配额紧张

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

解决方案:默认情况下一个用户可以保留60个SLB实例。如需超过默认值,请到配额平台提交申请扩容。关于配额限制,参见配额限制

SLB后端服务器配额紧张

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

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

SLB可监听数配额紧张

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

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

SLB实例数配额检查

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

解决方案:默认情况下一个用户可以保留60个SLB实例,如需超过默认值,请到配额平台提交申请扩容。

SLB带宽使用率过高

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

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

SLB最大连接数过高

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

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

SLB新建连接速率过高

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

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

SLB QPS过高

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

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

SLB新建连接速率检查

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

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

API Server SLB实例存在

异常影响:检查集群API Server负载均衡实例是否存在。如果没有负载均衡,只有一个API Server实例在运行,API Server就成了单点故障(SPOF)。一旦这个实例出现故障,整个集群将无法工作。

解决方案:配置负载均衡器。

API Server SLB实例状态

异常影响:所有集群操作(如Pod调度、服务部署、扩容缩容等)都会中断或延迟。集群内部服务发现机制依赖于 API Server,如果SLB异常可能导致服务发现失败。

解决方案:确认SLB实例的配置是否正确,包括后端服务器的实例配置、监听端口、健康检查机制等。

API Server SLB实例6443端口监听配置

异常影响:检查集群API Server SLB 6443端口监听配置。所有通过SLB访问API Server的请求会失败,包括kubectl操作、Dashboard访问、其他服务对API的请求等。集群内部服务可能无法通过服务名解析其他服务,因为这些请求也依赖于API Server。

解决方案:确认SLB实例的配置是否正确,包括后端服务器的实例配置、监听端口、健康检查机制等。确认6443端口的监听器已配置,并且使用的协议是HTTPS。

API Server SLB访问控制配置

异常影响:检查集群API ServerSLB访问控制配置。集群管理和操作(如节点管理、Pod调度、服务部署)会出现中断或受限的情况。集群内的服务依赖于API Server进行通信和服务发现,访问控制异常会导致这些依赖的请求失败。

解决方案:检查SLB实例的访问控制配置(安全组、ACL等)。确认允许合法的IP地址和端口访问API Server,特别是6443端口。确认SLB和API Server之间的TLS/SSL配置正确,证书有效且没有过期。

DNS服务 ClusterIP

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

解决方案:检查Kubernetes集群的网络插件和配置,看是否有冲突或错误。重新部署DNS服务,如CoreDNS,以确保其正确配置和分配。

DNS服务后端服务端点

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

解决方案:检查CoreDNS的配置文件(Corefile)是否正确配置。确保forwardproxy指令正确地指向了一组有效的后端DNS服务器。

SLB QPS检查

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

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

集群版本过低

异常影响:集群版本即将或者已经超出支持期限。

解决方案:若集群版本即将或者已经超出支持期限,请您尽快升级集群。

多个Service复用同一个SLB同一个端口

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

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