Kubernetes controller-manager 常见参数解析
Kubernetes 解析 参数 常见 Controller Manager
2023-09-14 09:15:17 时间
当 Kubernetes 中 Node 节点出现状态异常的情况下,节点上的 Pod 会被重新调度到其他节点上去,但是有的时候我们会发现节点 Down 掉以后,Pod 并不会立即触发重新调度,这实际上就是和 Kubelet 的状态更新机制密切相关的,Kubernetes 提供了一些参数配置来触发重新调度到嗯时间,下面我们来分析下 Kubelet 状态更新的基本流程。
- kubelet 自身会定期更新状态到 apiserver,通过参数
--node-status-update-frequency
指定上报频率,默认是 10s 上报一次。 - kube-controller-manager 会每隔
--node-monitor-period
时间去检查 kubelet 的状态,默认是 5s。 - 当 node 失联一段时间后,kubernetes 判定 node 为
notready
状态,这段时长通过--node-monitor-grace-period
参数配置,默认 40s。 - 当 node 失联一段时间后,kubernetes 判定 node 为
unhealthy
状态,这段时长通过--node-startup-grace-period
参数配置,默认 1m0s。 - 当 node 失联一段时间后,kubernetes 开始删除原 node 上的 pod,这段时长是通过
--pod-eviction-timeout
参数配置,默认 5m0s。
(1)--pod-eviction-timeout duration 默认值:5m0s
在失效的节点上删除 Pods 时为其预留的宽限期。
很多场景都需要多个控制器协同工作,比如某个节点宕机,kubelet 将会停止汇报状态到Node 对象。NodeLifecycle 控制器会发现节点状态没有按时更新,超过一段时间(可通过参数--pod-eviction-timeout 来指定)后,它将驱逐节点上的Pod。
Kubernetes 的 controller manager 将尝试每--node-monitor-period
时间周期内检查nodeStatusUpdateRetry
次。在--node-monitor-grace-period
之后,会认为节点 unhealthy,然后会在--pod-eviction-timeout
后删除 Pod。
相关文章
- 从概念、部署到优化,Kubernetes Ingress 网关的落地实践
- Kubernetes 弹性伸缩全场景解析 (四)- 让核心组件充满弹性
- Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
- [AWS] Kubernetes on AWS
- Kubernetes详解(十二)——节点选择器与资源注解
- Kubernetes详解(五十四)——Kubernetes ClusterRole创建和ClusterRolebinding
- Jenkins Kubernetes静态agent节点的构建
- Kubernetes 服务发现 监控APIServer
- 如何在Kubernetes里创建一个Nginx service
- ABAP Netweaver, SAP Cloud Platform和Kubernetes的用户区分
- 【云原生 | Kubernetes 系列】--Envoy指标监控
- 《Kubernetes网络权威指南》读书笔记 | 最常用的Docker网络技巧
- k8s之安装 Kubernetes 多集群管理工具 - Kuboard v3版本
- 【云原生 • Kubernetes】命令行工具 kubectl 介绍及命令汇总
- 【云原生 • Kubernetes】kubernetes 核心技术 - 集群安全机制
- 【云原生 • Kubernetes】kubernetes 核心技术 - Label 和 Selector
- 手把手kubernetes本地化部署(含疑难杂症排查解析)
- 【云原生】Kubernetes CRD 详解(Custom Resource Definition)
- Kubernetes 将应用迁移至kubernetes
- Kubernetes Kubelet 常见参数解析
- Kubernetes应用日志收集 标准输出部分
- 【云原生 | Kubernetes 系列】---Skywalking部署和监控
- 【云原生 | Kubernetes 系列】---altermanager消息配置和pushgateway
- Kubernetes_CNI_Calico_02_Calicoctl工具的使用
- Kubernetes基础_02_Pod全解析
- Kubernetes部署_使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)