当前位置: 首页 > news >正文

k8s-node-NotReady后如何保证服务可用

k8s 集群提供的功能

  • 调度与扩展,容器应该在哪里运行,根据 CPUMEMORY 实现自动扩容
  • 生命周期和健康状况,能自动替换失效的 POD,防止服务中断
  • 服务发现,自动发生一组容器,并实现相互通信
  • 监控,剔除故障节点,保证容器正常运行
  • 认证,谁能访问我

K8S 架构草图

Node 是什么?

NodeKubernetes工作节点,以前叫做 minion。取决于你的集群,Node 可以是一个虚拟机或者物理机器。每个 node 都有用于运行 pods 的必要服务,并由 master 组件管理。Node 上的服务包括 Docker网络组件 (flannel)kubeletkube-proxy

Node Conditions 字段描述

Node 条件描述
ReadyTrue 节点运行状况良好并准备好接受Pod,False 如果节点运行状况不佳并且未接受Pod,Unknown 节点控制器最近一次未从节点收到消息 node-monitor-grace-period(默认值为40秒)
MemoryPressureTrue 节点内存上存在压力,即节点内存不足;除此以外 False
PIDPressureTrue 进程是否存在压力,即节点上的进程是否过多;除此以外 False
DiskPressureTrue 磁盘大小是否受到压力,即磁盘容量是否不足;除此以外 False
NetworkUnavailableTrue 节点的网络配置不正确,否则 False

Node 故障,什么时候驱逐 Pod

是由 Master 组件 kube-controller-manager 两个参数控制:

  • –pod-eviction-timeout:缺省为 5m,删除故障 node 上 Pod 的宽限期
  • –node-monitor-grace-period:缺省为 40s,在标记 node 运行状况为不正常之前,允许运行的 node 停止响应的时间

保证服务可用一些方法

  • Pod 部署能提高服务性能,并且遇到极端情况也保证服务高可用
  • 建议采用节点互斥的方式进行部署
  • 对关键组件的监控,应该建立从进程到指标的多级监控,减小服务故障的时间
  • Pod 存活检查健康检查,对容器内应用监控是非常必要的
  • 云上 K8S集群 Node节点应选择多个 可用区
  • 集群Master组件 kube-apiserverkube-controller-managerkube-scheduler 一定要支持高可用
  • ETCD 也要支持高可用
  • 尽量程序操作,减少人为失误

参考链接

  • https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
  • https://kubernetes.io/docs/concepts/architecture/nodes/
  • https://blog.fleeto.us/post/node-downtime/

🔥运维干货分享

  • 我的站点:www.byteooo.cn

  • 软考高级系统架构设计师备考学习资料

  • 软考中级数据库系统工程师学习资料

  • 软考高级网络规划设计师备考学习资料

  • 软考高级系统规划与管理师

  • 软考中级系统集成项目管理师

  • Kubernetes CKA认证学习资料分享

  • AI大模型学习资料合集

  • 免费文档翻译工具(支持word、pdf、ppt、excel)

  • PuTTY中文版安装包

  • MobaXterm中文版安装包

  • pinginfoview网络诊断工具中文版

  • Xshell、Xsftp、Xmanager中文版安装包

  • Typora简单易用的Markdown编辑器

  • Window进程监控工具,能自动重启进程和卡死检测

  • Spring 源码学习资料分享

  • 毕业设计高质量毕业答辩 PPT 模板分享

  • IT行业工程师面试简历模板分享

http://www.dtcms.com/a/585753.html

相关文章:

  • 5-GGML:看一下CUDA加法算子!
  • 做网站优化需要做哪些事项wordpress圆圈特效
  • 濮阳网站建设费用网站怎样做外链
  • Docker 部署 Java 项目实践
  • Git push/pull 避坑指南:什么时候加 origin?什么时候不用加?
  • Ubuntu22.04系统中各文件目录的作用
  • 49_AI智能体核心业务之使用Flask蓝图模块化AI智能体服务:构建可维护的RESTful API
  • 网站建设教程数据库网站开发兼职成都
  • 网站 空间 下载行情网免费网站大全
  • 深度学习实战(基于pytroch)系列(五)线性回归的pytorch实现
  • 玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从T类型变量创造一个新的T类型变量
  • 11.8 脚本网页 推箱子
  • 网站建设要钱么深圳一百讯网站建设
  • [Java算法] 双指针(1)
  • 江苏省建设厅网站官网湖南做网站最厉害的公司
  • 杭州家具网站建设方案郑州app开发价格
  • gdb调试命令和GDB 到 LLDB 命令映射
  • 【CUDA笔记】02 CUDA GPU 架构与一般的程序优化思路(上)
  • 198种组合算法+优化XGBoost+SHAP分析+新数据预测!机器学习可解释分析,强烈安利,粉丝必备!
  • 东莞做网站要多少钱安顺建设局网站官网
  • 在线做h5 的网站网站服务器怎么查询
  • Vue 项目实战《尚医通》,展示已有医院的数据并分页展示,笔记11
  • Modbus RTU 转 Modbus TCP:借助数据采集提升三菱PLC冷库温度反馈实时性案例
  • DeepSeek-OCR实战(01):基础运行环境搭建-Ubuntu
  • SQLite 索引:优化数据库查询的关键
  • 可拖拽网站三星官网商城
  • MySQL 8.x 的 my.ini配置设置
  • 周志华《机器学习导论》第 15 章 规则学习(符号主义学习)
  • 使用pycharm自带debug模式运行flask时报错
  • 福州做网站需要多少钱懒设计app