触发kube-apiserver流控导致ACK集群中节点状态异常

小丫3年前技术文章1325

问题现象

ack集群中一个节点状态为notready,但是排查节点上的核心组件:kubelet、kube-proxy、flannel、etcd等状态均为正常。

排查步骤

1、查日志

分别排查核心组件以及系统日志,在kubelet以及message日志中看到以下可疑信息:

image.png 

存在大量的 访问apiserver 6443的Throttling request took日志。所以判断可能是触发了kubelet连接kube-apiserver的流控。

2、修改kubelet参数

既然是触发了连接kube-apiserver的流控,那么可以尝试将kubelet对应参数限制调大。

修改方法可以参考文档:https://help.aliyun.com/document_detail/452567.html

通过在线api调用方式,修改参数kubeAPIQPS、kubeAPIBurst,将对应值调高

image.png 

打开阿里云openapi地址,然后找到接口:ModifyNodePoolNodeConfig,填写集群id,节点池id以及上面两个参数对应的值后发起调用。

image.png 

image.png 

image.png

调用完成之后,可以通过查询接口,或者直接在主机节点上ps -ef| grep kubelet查看对应参数值是否生效。

最后验证节点状态是否正常上报为ready

建议

后续出现可以立即收集一下以下两个信息

1、Kubernetes集群的诊断信息:

https://help.aliyun.com/document_detail/86761.html

2、kubelet 日志 journalctl -u kubelet >/tmp/kubelet.log


相关文章

企业级大数据安全架构(二)

企业级大数据安全架构(二)

2安全方案2.1 Knox访问控制Apache Knox是一个通过REST API和UI与Apache Hadoop 部署交互的应用网关。Knox网关为所有与Hadoop集群的REST和HT...

MySQL运维实战之Clone插件(10.2)Clone插件原理

MySQL运维实战之Clone插件(10.2)Clone插件原理

clone插件实现clone操作主要分为几个阶段:1、初始阶段。初始阶段,会开启页面跟踪(Page Tracking)。开启页面跟踪后,修改过的页面的编号会被记录下来。页面的修改可分为两个阶段:首先在...

MySQL运维实战(4.4) SQL_MODE之STRICT_TRANS_TABLES和STRICT_ALL_TABLES

如果设置STRICT模式,则如果数据写入时,如果数据不符合字段定义(字符串超出长度、数值类型数据超出范围、违反not null约束等),SQL会报错。如果不设置STRICT模式,会对异常数据进行截断处...

mysql查线上数据注意数据库的隔离级别

数据库的隔离级别定义了一个事务可能对其他并发事务的可见性,以及它们可能对数据库的影响。隔离级别的选择影响着并发性能和数据的一致性,不同的隔离级别能够防止不同程度的并发问题,如脏读(Dirty Read...

Kafka数据恢复

一、增量恢复增量恢复需要使用 MirrorMaker 来实现,下面是 MirrorMaker 的用法示例:# 创建MirrorMaker 配置文件cat > /tmp/mirror-maker....

Kubernetes安全--securityContext介绍

securityContext是用来控制容器内的用户权限,你想用什么用户去执行程序或者执行操作等等。1. securityContext介绍安全上下文(Security Context)定义 Pod...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。