首页 > 其他分享 >部署 DeepFlow 后部分 Pod 资源没有识别

部署 DeepFlow 后部分 Pod 资源没有识别

时间:2024-12-24 09:59:12浏览次数:4  
标签:DeepFlow server xx deepflow ctl Pod 识别 pod 资源

如何部署 DeepFlow

可直接参考官网链接部署。
注:官网中使用 Docker 以 AllinOne 形式部署只适用于临时测试,因为 deepflow-server 需通过 k8s lease 进行选主,否则只能使用单副本

部分 pod 没有获取到,如何排查

首先,部署完成后,等待 deepflow 命名空间下各个 pod 都处于 Running 且 1/1 的状态后,通过 deepflow-ctl 检查 deepflow-agent 是否注册成功,具体查看STATE值是否为NORMAL

[root@deepflow-demo ~]# deepflow-ctl agent list
ID   NAME                          TYPE       CTRL_IP          CTRL_MAC            STATE     GROUP     EXCEPTIONS                REVISION        UPGRADE_REVISION   
55   deepflow-demo-V1              K8S_VM     x.x.x.x          xx:xx:xx:xx:xx:xx   NORMAL    default                             v6.6 11418

  • 在确认 agent 状态正常的情况下,查看 grafana 面板 workload 变量或使用 auto_instance 过滤时,找不到某个具体的 pod,原因可能有以下几点:

    1. 没有流量,例如查询的 nginx pod,在面板右上角时间范围内,并没有进来或出去的流量
    2. 使用宿主机网络,例如查询的 nginx pod 使用了 hostNetwork 宿主机网络,在 cbpf 采集网卡数据时,只能把此 pod ip 作为宿主机 ip 识别
    3. 没有上层资源,deepflow 录入 pod 时,对应 pod 必须有一个上层资源,例如 deploy、daemonset 等,如 kind 类型就是 pod,则无法录入(认为 kind: pod 没有意义)
    4. 无法识别自定义资源,即对 pod 进行封装,自定义了上层资源。比如内部创建了一个 kind 类型非 k8s 自带的资源
  • 对于以上情况,对应的解决方式:

    1. 打流即可,例如手动 curl 一下
    2. 截至目前 v6.6 lts 版本,还没有办法,不过后续版本可能会实现区分
    3. 必须需要一个上层资源
    4. 代码中,只能加载 k8s 默认资源。或者对 deepflow 进行二开,可参考此 issue 关联的 pr
  • 如果以上情况都不属于,需要通过deepflow-ctl手动打开 deepflow-server 的 debug 日志,在日志中grep对应 pod name 即可

    1. deepflow-ctl ingester -i [server pod ip] loglevel set debug
    2. 开启后在对应 server pod log 中 grep 没有展示的pod namewill queryapi_resources: 后几十行
    3. 查询后记得该回去:deepflow-ctl ingester -i [server pod ip] loglevel set info

标签:DeepFlow,server,xx,deepflow,ctl,Pod,识别,pod,资源
From: https://www.cnblogs.com/pengbin123/p/18618094

相关文章

  • flask框架垃圾识别工具箱毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于垃圾识别的研究,现有研究主要以垃圾的分类方式以及垃圾分类设施的改进为主,如垃圾桶颜色标识等方面的研究较多,专门针对垃圾识别工具......
  • Memory Leak Detector:Java中内存泄漏的识别与避免_2024-07-23_09-54-10.Tex
    MemoryLeakDetector:Java中内存泄漏的识别与避免Java内存管理基础Java内存模型简介Java内存模型(JavaMemoryModel,JMM)是Java虚拟机(JVM)规范的一部分,它描述了Java程序中各种变量(线程共享变量)的访问规则,以及在并发环境下如何保证内存的可见性、有序性和原子性。JMM的主要......
  • 基于YOLO8水稻病虫害检测系统 水稻病虫害检测系统 YOLO目标检测算法 识别图片与视频支
    基于YOLO8的水稻病虫害检测系统水稻病虫害检测系统YOLO目标检测算法技术栈:yolo8+streamlit[1]可以识别图片与视频,也支持本地摄像头识别,图片识别支持统计检测到的物体数量,并返回到前端页面显示[2]可以通过UI界面动态调节模型置信度,可以动态选择模型权重[3]系统目录下......
  • 在 K8S 中创建 Pod 是如何使用到 GPU 的: nvidia device plugin 源码分析
    本文主要分析了在K8s中创建一个Pod并申请GPU资源,最终该Pod时怎么能够使用GPU的,具体的实现原理,以及deviceplugin、nvidia-container-toolkit相关源码分析。1.概述在两篇文章中分别分享了在不同环境如何使用GPU,以及在k8s中使用GPUOperator来加速部署。在......
  • pod 内抓包
    Nsenter进入容器的网络命令空间pid=dockerinspect67dbcf7063af|jq.[0].State.Pidnsenter-t\(pid-nbash67dbcf7063af替换为具体的容器id,然后就可用主机上的tcpdump了下面是将这个操作转换为一个脚本\)vime_net.sh#!/usr/bin/envbashfunctione_net(){s......
  • 人车防碰撞识别智慧矿山一体机关于监控系统数据如何有效存储与分析?
    在数字化转型的大潮中,监控系统已成为各行各业不可或缺的一部分,尤其是在安全监控、风险管理,以及数据驱动决策等方面扮演着重要角色。随着技术的进步,监控系统不再仅仅是数据的收集者,更是智能分析和决策支持的提供者。本文将探讨如何通过现代技术手段,实现监控系统数据的有效存储和分......
  • 罐笼乘坐人员超限识别智慧矿山一体机智慧矿山监控系统的国际发展趋势有哪些?
    随着全球工业化进程的不断深入,矿山行业正面临着转型升级的巨大挑战。在这个背景下,智慧矿山监控系统应运而生,它不仅代表了矿业技术的最新发展方向,也是实现矿山安全、高效、绿色开采的关键。本文将探讨智慧矿山监控系统的国际发展趋势,以及矿山智能视频分析技术在实际应用中的重要性......
  • 鸿蒙(HarmonyOS)原生AI能力之文本识别
    鸿蒙(HarmonyOS)原生AI能力之文本识别原生智能介绍在之前开发中,很多场景我们是通过调用云端的智能能力进行开发。例如文本识别、人脸识别等。原生即指将一些能力直接集成在本地鸿蒙系统中,通过不同层次的AI能力开放,满足开发者的不同场景下的诉求,降低应用开发门槛,帮助开发者......
  • AI车牌监测识别摄像机
    AI车牌监测识别摄像机是一种基于人工智能技术的高级监控设备,用于识别和记录车辆的车牌信息。该摄像机利用深度学习算法和图像识别技术,能够快速准确地捕捉车辆牌照信息,有助于提高交通安全管理和追踪犯罪嫌疑车辆。AI车牌监测识别摄像机在实际应用中发挥着重要作用。首先,它可以自......
  • 升降梯人数识别摄像机
    升降梯人数识别摄像机是一种智能监测设备,主要用于实时识别和计算升降梯内乘客的数量。通过搭载先进的图像识别技术和人工智能算法,该设备可以准确监测乘客进出数量,提供重要数据支持和信息反馈,帮助管理人员有效管理升降梯运行,提升乘客安全和服务质量。这种升降梯人数识别摄像机的......