Kubernetes Node 节点的生命周期简述

news2024/12/23 4:28:03

Node 节点是 Kubernetes 的核心组件之一,其生命周期可以简要概括为:注册、运行、下线。本文将简要介绍 Node 生命周期中发生的关键事件。

节点注册

每个 node 节点都需要运行 kubeletkubelet 启动后会向 kube-apiserver 发起节点的注册请求,即创建一个新的 node 资源对象。

Kubelet 配置文件中的 registerNode(或命令行参数 --register-node)的值默认为 true,用来控制是否自动注册节点。如果你希望手动管理节点的注册行为,可以将此项设置为 false。

节点的名称 nodename 由以下因素决定:

  • 如果配置了 cloud provider,则由云供应商提供名称。
  • 否则使用本机的 hostname,而 hostname 也可以通过 kubelet 的配置项 --hostname-override 覆盖掉。

注册节点实质上是创建了一个新的 node 资源对象,此时 kubelet 便会收集有关节点的状态信息一并提交。该接口也可以重复提交,反复注册并不会有什么影响。

节点心跳机制

节点的心跳机制包括两部分:节点 .status 状态信息更新,以及节点对应的 lease 对象更新。

Kubelet 配置文件中的 nodeStatusUpdateFrequency(或命令行参数 --node-status-update-frequency)默认为 10 秒钟。这意味着当节点状态发生改变时,或者达到了 10 秒钟,kubelet 会向 kube-apiserver 发起请求,以更新节点的 .status 状态信息。

每个节点都会在 kube-node-lease 这个命名空间中维护一个同名的 lease 对象,更新频率为 kubelet 配置文件中的 nodeLeaseDurationSeconds(默认 40 秒)* 0.25,即 10 秒钟。

节点健康监控

controller-manager 中的 node-controller(准确说是 node-lifecycle-controller)负责监控节点的健康情况。如果一切正常,那自然万事大吉。

但是如果节点出现网络中断或者宕机等情况时,node-controller 便会发现节点的心跳信息长时间未更新,一旦超过 controller-manager 的配置项 --node-monitor-grace-period 设置的时长(默认 40 秒,在未来的 v1.32 版将会变更为 50 秒),node-controller 会将该节点的状态设置为 Unknown,并给节点打上 Taint 污点,避免新的 pod 被调度。随后再等待 5 分钟,如果节点仍未恢复心跳,则开始向 kube-apiserver 发起请求,驱逐节点上的 pod 等资源。

节点的正常下线也非常类似,标记污点、重新调度 pod、下线节点。

(我是凌虚,关注我,无广告,专注技术,不煽动情绪,欢迎与我交流)


参考资料:

  • https://kubernetes.io/docs/concepts/architecture/nodes/
  • https://kubernetes.io/docs/reference/node/node-status/
  • https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
  • https://github.com/kubernetes/kubernetes/pull/126287

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2230163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GenAI 生态系统现状:不止大语言模型和向量数据库

自 20 个月前 ChatGPT 革命性的推出以来,生成式人工智能(GenAI)领域经历了显著的发展和创新。最初,大语言模型(LLMs)和向量数据库吸引了最多的关注。然而,GenAI 生态系统远不止这两个部分&#…

ctf文件上传题小总结与记录

解题思路:先看中间件,文件上传点(字典扫描,会员中心),绕过/验证(黑名单,白名单),解析漏洞,cms,编辑器,最新cve 文件上传漏…

如何使用VBA识别Excel中的“单元格中的图片”(2/2)

Excel 365升级了新功能,支持两种不同的插入图片方式: 放置在单元格中(Place in cell),新功能,此操作插入的图片下文中简称为单元格中的图片。放置在单元格上(Place over cell)&…

python绘制置信椭圆

置信椭圆 置信椭圆(Confidence Ellipse)是一种用来表示二维数据的置信区域的统计工具。它是多元统计分析中常用的图形,通过它可以表示两个变量之间的协方差关系以及同时包含两个变量的可能取值范围。置信椭圆一般用于描述一组二维数据的散布…

用Python设置、更新和获取Excel单元格的值

Excel工作簿作为一款广泛使用的数据管理工具,与Python相结合,可以使得自动化处理大量数据成为可能。通过Python来设置、更新以及读取Excel单元格的值,不仅可以极大地提高工作效率,减少重复劳动,还能增强数据处理流程的…

轴承故障全家桶更新 | 基于时频图像的分类算法

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

001-Kotlin界面开发之Jetpack Compose Desktop学习路径

Compose Desktop学习之路 学习过程 理解Kotlin的基本语法 Compose Desktop采用Kotlin构建,因此对Kotlin的基本语法有很好的理解是必不可少的。你可以从官方的Kotlin文档开始。 用一句话概括,Kotlin是一种现代的、静态类型的编程语言,它结合…

阳振坤:云时代数据库的思考 | OceanBase发布会实录

在2024 OceanBase 年度发布会中,OceanBase 的创始人与首席科学家阳振坤进行了《云时代数据库的思考》的主题分享。本文为演讲实录。 亲爱的朋友们,衷心感谢各位莅临今天的发布会现场。今天是一个云的时代,我想与大家分享,我对于云…

JavaScript语法基础(函数,对象,常用类Array,String,Math和Date)【超详细!!!新手入!!!】

一、函数 1、函数的定义 函数指的是一段可被重复调用的代码块。函数与变量不同,需要先定义再调用。 定义函数的语法格式为: function 函数名(参数1,参数2,...) { 语句; …

OpenGL入门004——使用EBO绘制矩形

本节将利用EBO来绘制矩形 文章目录 一些概念EBO 实战简介utilswindowFactory.hRectangleModel.hRectangleModel.cpp main.cppCMakeLists.txt最终效果 一些概念 EBO 概述: Element Buffer Object 用于存储顶点的索引数据,以便在绘制图形时可以重用顶点数…

linux之网络子系统-用户层接收数据包之同步阻塞方案

一、前言 之前讲述了网络包是如何从网卡送到协议栈的,接下来内核还有一项重要的工作,就是在协议栈接收处理完输入包后要通知到用户进程,如何用户进程接收到并处理这些数据。 进程与内核配合有多种方案,这里我们这分析两种典型的…

高效消防应急:RFID技术救援装备的快速管理

基层应急救援消防设施管理面临着一个既复杂又迫切的挑战。通常,受限的资源和专业人才的短缺导致应对突发事件的反应迟缓,处理结果不理想。同时,消防团队的人员结构和技术能力也在一定程度上决定了应急救援的成效和效率。在数字化浪潮下&#…

TMDOG的Gin学习笔记_01——初识Gin框架

TMDOG的Gin学习笔记_01——初识Gin框架 博客地址:[TMDOG的博客](https://blog.tmdog114514.icu) 作者自述: 停更太久了,是因为开学了课太多了,并且我一直在准备上篇文章的内容正在coding,就先搁置了更新博客QAQ&…

【ROS的TF系统】

系列文章目录 TF系统简介 前面的章节实现了SLAM节点的建图功能: 激光雷达节点—> /scan话题 —>hector_mapping节点—> 地图数据话题/map 本期来实现SLAM节点的定位功能: TF(TransForm)主要描述的是两个坐标系的空间关…

Pandas JSON学习

1.JSON简介 JSON(JavaScript Object Notation,JavaScript 对象表示法),是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析,Pandas 可以很方便的处理 JSON 数据。 [{"…

SQL Server身份验证模式

SQL Server是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQL Server身份验证。理解这些身份验证方式的概念与更改方式的操作,对于数据库管理员和开发者至关重要。本文将详细介绍身份验证方式的概念以及如何…

DC-9靶机通关

这是这个系列的最后一个靶机了!!!经过前面的锻炼和学习,这次我的目标是尽量不借助任何教程或者提示来拿下这个靶机!!!下面我们看能不能成功!!! 1.实验环境 攻…

百度SEO分析实用指南 提升网站搜索排名的有效策略

内容概要 在数字化时代,搜索引擎优化(SEO)已经成为提升网站曝光度的关键工具。本指南将带您了解SEO的基本知识,帮助您在复杂的网络环境中立足。我们将从关键词优化开始,重点讲解如何选择合适的关键词来提高搜索引擎排…

ML2001-1 机器学习/深度学习 Introduction of Machine / Deep Learning

图片说明来自李宏毅老师视频的学习笔记,如有侵权,请通知下架 影片参考 【李宏毅】3.第一节 - (上) - 机器学习基本概念简介_哔哩哔哩_bilibili 1. 机器学习的概念与任务类型 概念:机器学习近似于寻找函数,用于处理不同类型的任…

用Python打造媒体管理播放器:从零到全功能GUI应用

背景 在日常生活中,我们经常需要管理和播放大量媒体文件。市面上的音频播放器可能功能单一,或者界面复杂。作为一名程序员,我决定使用Python自己打造一个简单yet强大的媒体管理播放器。 C:\pythoncode\new\playsong.py 全部代码 import os…