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

小丫1年前技术文章464

问题现象

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


相关文章

flink web监控

flink web监控

1.1 监控指标进入Flink的原生页面,需要从yarn的原生页面的后台链接进入,如下图:这里必须要用supergroup组的用户或者flink提交任务的用户(如果该用户是机机用户不能登录)才能够看到...

MySQL运维实战(4.5) SQL_MODE之NO_ZERO_DATE和NO_ZERO_IN_DATE

NO_ZERO_DATE:日期中不允许'0000-00-00'NO_ZERO_IN_DATE:日期中年、月或日不允许为0,如不允许'2021-00-01', '...

 Atlas架构与原理

Atlas架构与原理

一、总体架构Atlas 是一个可伸缩且功能丰富的数据管理系统,深度集成了 Hadoop 大数据组件。简单理解就是一个 跟 Hadoop 关系紧密的,可以用来做元数据管理的一个系统,整个结构图如下所示:...

Docker常用命令

1、找镜像去docker hub,查找需要的镜像,docker pull nginx  #下载最新版 镜像名:版本名(标签) docker pull nginx:1.20.1 #...

flink获取taskmanager的pstree信息

flink获取taskmanager的pstree信息

使用pstree –p 进程号 的方式能够获取taskmanager的pstree信息,这个地方提供一个收集脚本。内容如下:#!/bin/bashsearchPID() {   l...

hdfs短路读

hdfs短路读

原理当客户端执行数据块副本短路读时,Client与DataNode的交互过程具体如下图:含义如下:(1)DFSClient通过requestShortCircuitShm()接口向DataNode请求...

发表评论    

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