阿里云容器计算服务ACS支持容器智能运维平台提供的定时巡检功能。您可以设置巡检的定时规则,定期检查集群存在的风险预警。本文介绍集群巡检的常见风险预警以及解决方案。
集群巡检项及预警风险
关于如何使用集群巡检功能,请参见使用集群诊断。
根据集群配置,具体巡检项可能稍有不同。实际结果请以检查报告结果为准。
检查类型 | 巡检项 | 预警风险 |
资源配额 ResourceQuotas | ||
SLB后端服务器配额检查 | ||
SLB可监听数配额检查 | ||
资源水位 ResourceLevel | SLB带宽使用率检查 | |
SLB最大连接数检查 | ||
版本证书 Versions&Certificates | 集群Kubernetes版本检查 | |
集群风险 ClusterRisk | API Server SLB实例存在 | |
API Server SLB实例状态 | ||
API Server SLB 6443端口监听配置 | ||
API ServerSLB访问控制配置 | ||
DNS 服务 ClusterIP | ||
DNS 服务后端服务端点 | ||
多个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)是否正确配置。确保forward
或proxy
指令正确地指向了一组有效的后端DNS服务器。
SLB QPS检查
异常影响:检查SLB过去三天最大QPS是否达到上限的80%。QPS达到上限后,可能导致客户端无法访问。
解决方案:SLB实例QPS过高,为避免业务受损,您需要提升实例规格。具体操作,请参见使用指定的SLB实例。
集群版本过低
异常影响:集群版本即将或者已经超出支持期限。
解决方案:若集群版本即将或者已经超出支持期限,请您尽快升级集群。
多个Service复用同一个SLB同一个端口
异常影响:如果多个Service复用同一个SLB的同一个端口,会导致服务异常。
解决方案:请修改或删除冲突的Service,确保多个Service复用同一个SLB时使用不同的端口。