iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >k8s故障检测与自愈的示例分析
  • 688
分享到

k8s故障检测与自愈的示例分析

2024-04-02 19:04:59 688人浏览 薄情痞子
摘要

这篇文章给大家介绍k8s故障检测与自愈的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。组件故障组件故障可以认为是节点故障的子类,只是故障来源是K8S基础组件的一部分。DNS故障

这篇文章给大家介绍k8s故障检测与自愈的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

k8s故障检测与自愈的示例分析

组件故障

组件故障可以认为是节点故障的子类,只是故障来源是K8S基础组件的一部分。

DNS故障:6个DNS Pod中的2个出现无法解析外部DNS名称的情况。后果是大量线上业务因域名解析。

CNI故障:少数几个节点的容器网络和外部断开,节点访问自身的Pod IP没有问题,但是其它节点无法访问故障节点的Pod  IP。这种情况下,Pod本机的健康检查无效,导致故障实例持续存在,一定比例的业务请求失败。

kubenurse会对ingress、dns、apiserver、kube-proxy进行网络探测。

使用KubeNurse进行集群网络监控

节点故障

  • 硬件错误: CPU/Memory/磁盘故障

  • kernel问题: kernel deadlock/corrupted file systems

  • 容器运行时错误: Docker假死

  • 基础设施服务故障: NTP故障

node-problem-detector

  • 根源:  在kubernetes集群上,通常我们只是管制集群本身以及容器的稳定运行。但是这些稳定性都是强依赖节点node的稳定的。可是node的管理,在kubernetes是比较弱的,因为可能对于kubernetes的初始设计来说,这些应该是IaaS的事。但是随着kubernetes的发展,它越来变成了一个操作系统,它管理的内容将越来越多,所以对于node的管理也将纳入kuberntes里管理。所以延伸出了node  problem detector这个项目

  • Kubernetes支持两种上报机制:

1、NodeCondition(节点状况): 这是指永久性的错误,它将造成pod无法在这个节点运行。这个节点状况只有在节点重启后才会被重置

2、Event(事件):  影响节点的临时性问题,但是它是对于系统诊断是有意义的。NPD就是利用kubernetes的上报机制,通过检测系统的日志(例如Centos中journal),把错误的信息上报到kuberntes的node上。

k8s故障检测与自愈的示例分析

图片故障节点上的事件,会记录在宿主机的某些日志中。这些日志(例如内核日志)中噪音信息太多,NPD会提取其中有价值的信息,可以将这些信息报送给prometheus,也会生成离线事件。这些信息可以推送到企业微信,人工处理。也可以对应到自愈系统的方法库,自动恢复。在裸金属K8S集群中,由于缺乏基础设施的支撑,自动扩充节点可能无法实现,只能通过更加精细的自动化运维,治愈节点的异常状态。

k8s故障检测与自愈的示例分析

以CNI故障为例,可能的治愈流程如下:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 查询运维方法库,如果找到匹配项,执行对应的运维动作

  3. 如果上述步骤无效,尝试删除节点上负责CNI的Pod,以重置节点的路由、Iptables配置

  4. 如果上述步骤无效,尝试重启容器运行时

  5. 告警,要求运维人员介入

部署NPD实践你需要有一个k8s集群,必须有1个以上的worker节点。大家可以参考https://GitHub.com/kubernetes/node-problem-detector。

主要参数: --prometheus-address: 默认绑定地址127.0.0.1,如果需要推送给promethues,需要修改。 --config.system-log-monitor: 节点问题检测器将为每个配置启动一个单独的日志监视器.案例: config/kernel-monitor.JSON。 --config.custom-plugin-monito: 节点问题检测器将为每个配置启动一个单独的自定义插件监视器。案例: config/custom-plugin-monitor.json

主要参数:

--prometheus-address: 默认绑定地址127.0.0.1,如果需要推送给promethues,需要修改。

--config.system-log-monitor: 节点问题检测器将为每个配置启动一个单独的日志监视器.案例:  config/kernel-monitor.json。

--config.custom-plugin-monito: 节点问题检测器将为每个配置启动一个单独的自定义插件监视器。案例:  config/custom-plugin-monitor.json

将代码克隆到本地,按照自己的需求更改deployment文件中的DaemonSet,执行以下内容:

创建ConfigMap: kubectl create -f node-problem-detector-config.yaml 创建DaemonSet: kubectl create -f node-problem-detector.yaml

如何验证NPD捕获信息这部分,可以在测试集群的node几点上做。

sudo sh -c "echo 'kernel: BUG: unable to handle kernel NULL pointer dereference at TESTING' >> /dev/kmsg" 可以在kubectl describe nodes x.x.x.x 中看到KernelOops事件的告警。 sudo sh -c "echo 'kernel: INFO: task docker:20744 blocked for more than 120 seconds.' >> /dev/kmsg" 可以在kubectl describe nodes x.x.x.x 中看到DockerHung事件的告警。

如果事件告警接到了promethues,可以配置策略,发送到微信。

关于k8s故障检测与自愈的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: k8s故障检测与自愈的示例分析

本文链接: https://www.lsjlt.com/news/81688.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • k8s故障检测与自愈的示例分析
    这篇文章给大家介绍k8s故障检测与自愈的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。组件故障组件故障可以认为是节点故障的子类,只是故障来源是K8S基础组件的一部分。DNS故障...
    99+
    2024-04-02
  • OCR活体检测的示例分析
    这篇文章主要介绍了OCR活体检测的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。活体检测技术是防止系统攻击的主要手段,其价值在于在于判断操作用户身份,抵御照片,视频,...
    99+
    2023-06-02
  • Angular中变更检测的示例分析
    这篇文章主要介绍Angular中变更检测的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!核心概念-视图ViewAngular的文档中通篇都提到了一个Angular应用是一个组件树。但是Angular底层其实使...
    99+
    2023-06-14
  • Angular中变化检测的示例分析
    这篇文章主要为大家展示了“Angular中变化检测的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Angular中变化检测的示例分析”这篇文章吧。Cha...
    99+
    2024-04-02
  • Angular4中脏值检测的示例分析
    这篇文章将为大家详细讲解有关Angular4中脏值检测的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SummaryAngular 4的脏值检测是个老话题了,而理...
    99+
    2024-04-02
  • Matlab空心散点检测的示例分析
    这篇文章主要介绍Matlab空心散点检测的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题描述有一张这样的图片,如何提取里面的红色圈圈坐标,并且连接这些坐标形成两个封闭的环路?过程展示图像导入oriPic=...
    99+
    2023-06-29
  • python中Harris角点检测的示例分析
    这篇文章主要介绍了python中Harris角点检测的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、基本思想选择在图像上任意方向的固定窗口进行滑动,如果灰度变化较...
    99+
    2023-06-15
  • docker中19-k8s的示例分析
    这篇文章主要介绍docker中19-k8s的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!    Docker的第一类编排工具:   &n...
    99+
    2023-06-04
  • 微信域名拦截检测的示例分析
    微信域名拦截检测的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。平时在微信跑产品经常被屏蔽拦截停止访问怎么办?我们都知道 微信对外部链接管理非常严格,所以自家域名网...
    99+
    2023-06-05
  • selenium自动化测试的示例分析
    本篇文章为大家展示了selenium自动化测试的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下载驱动器http://chromedriver.storage.googleapis.com/...
    99+
    2023-06-26
  • Oracle中SCN与检查点的示例分析
    这篇文章主要介绍Oracle中SCN与检查点的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.SCN 的定义SCN(System Change Number ),也就是通常...
    99+
    2024-04-02
  • WINDOWS2016故障转移的示例分析
    这篇文章跟大家分析一下“WINDOWS2016故障转移的示例分析”。内容详细易懂,对“WINDOWS2016故障转移的示例分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“WIN...
    99+
    2023-06-26
  • 微信域名检测接口调用演示的示例分析
    这篇文章给大家分享的是有关微信域名检测接口调用演示的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信域名检测接口是腾讯官方发布的api接口,调用检测接口即可返回域名在微...
    99+
    2024-04-02
  • VB.NET网络应用之连通检测的示例分析
    小编给大家分享一下VB.NET网络应用之连通检测的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.NET网络应用连通检测许多应用程序常常需要在程序中直...
    99+
    2023-06-17
  • docker中k8s存储卷的示例分析
    这篇文章给大家分享的是有关docker中k8s存储卷的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。    因为pod是有生命周期的,pod一重启,里面的数据就没了...
    99+
    2023-06-04
  • Angular2之ng中变更检测问题的示例分析
    这篇文章主要介绍Angular2之ng中变更检测问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!开发中遇到的问题在开发中遇到一个这样的问题,代码不便透露,这里用简单的例子...
    99+
    2024-04-02
  • memcached与redis性能测试的示例分析
    这篇文章主要介绍memcached与redis性能测试的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!memcached与redis性能测试总结– 相同的数据模型,Memca...
    99+
    2024-04-02
  • Puppeteer前端自动化测试的示例分析
    这篇文章主要为大家展示了“Puppeteer前端自动化测试的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Puppeteer前端自动化测试的示例分析”这...
    99+
    2024-04-02
  • Angular.js自动化测试之protractor的示例分析
    小编给大家分享一下Angular.js自动化测试之protractor的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前...
    99+
    2024-04-02
  • Angular中的变化检测实例分析
    这篇文章主要介绍“Angular中的变化检测实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Angular中的变化检测实例分析”文章能帮助大家解决问题。变化检...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作