deepflow本地部署过程

本地服务器配置,32C,48G内存
整个过程需要配置k8s,安装helm, 安装grafana, 安装deepflow以及deepflow-ctl,以及部署demo

在采用sealos进行ALL-IN-ONE部署之前,

grafana

先安装它
wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
apt-get install -y apt-transport-https

将下方内容写入 /etc/apt/sources.list.d/grafana.list

deb [signed-by=/usr/share/keyrings/grafana.key] https://mirrors.tuna.tsinghua.edu.cn/grafana/apt/ stable main

然后

apt-get update
apt-get install grafana

然后启动grafana

获取需要的nodeIP和port

NODE_PORT=$(kubectl get --namespace deepflow -o jsonpath="{.spec.ports[0].nodePort}" services deepflow-grafana)
NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}")
echo -e "Grafana URL: http://$NODE_IP:$NODE_PORT  \nGrafana auth: admin:deepflow"

miniKube部署

尝试在本地 8G 2C虚拟机上部署,结果kubectl get pod -A会发现一些pod总是出错,猜测可能是内存不足,后来放弃在虚拟机上部署

先尝试了在服务器上minikube部署,结果deepflow-ctl报错
显示curl (http://192.168.123.198:30417/v1/vtaps/) failed, (Get “http://192.168.123.198:30417/v1/vtaps/”: dial tcp 192.168.123.198:30417: connect: connection refused),这个ip地址刚好是服务器网卡的ip地址,原因不明

值得注意的是,需要输入minikube start --force才能启动minikube k8s,甚至不会

minikube部署可以参考文章
完整指南:如何编译、打包和部署二次开发的 DeepFlow
https://mp.weixin.qq.com/s/-jWYq2rTRaTueuN0sAb3lA

以及:
https://deepflow.io/docs/zh/ce-install/all-in-one/

最终清空minikube环境可以参考
http://www.zhaowenyu.com/kubernetes-doc/install/kubeadm/kubeadm-k8s1.24-containderd.html

minikube delete --purge --all
sudo dpkg -P minikube

以及这篇:
Linux卸载minikube命令整理
http://t.csdnimg.cn/54QHY

sealos部署

主要参考https://deepflow.io/docs/zh/ce-install/all-in-one/

如果机器上已经有docker环境,需要全部清除干净才能安装sealos,否则会报错。

清除docker环境可以参考

https://blog.csdn.net/qq_45495857/article/details/113743109

接下来sudo sealos reset,防止出现Error: cluster status is not ClusterSuccess这个错误

然后设置本机的一个不常用的网卡ip为192.168.1.123
ifconfig ens4f0 192.168.1.123

然后接下来就可以

# install sealos
curl -o /usr/bin/sealos https://deepflow-ce.oss-cn-beijing.aliyuncs.com/sealos/sealos && \
    chmod +x /usr/bin/sealos

# install All-in-One kubernetes cluster
IP_ADDR="192.168.1.123"  # FIXME: Your IP address
PASSWORD="1"       # FIXME: Your SSH root password
sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 --masters $IP_ADDR -p $PASSWORD

之后的操作可以完全参考官方文档了

这样下来,deepflow-ctl可以正常使用
之前使用minikube的报错curl (http://192.168.123.198:30417/v1/vtaps/) failed, (Get “http://192.168.123.198:30417/v1/vtaps/”: dial tcp 192.168.123.198:30417: connect: connection refused)也消失了,很神奇

部署demo

参考
https://deepflow.io/docs/zh/features/distributed-tracing/spring-boot-demo/

grafana页面在这里插入图片描述

点击表中的span,可以看到火焰图,flame graph

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化定时发送天气提醒邮件

🎈 博主:一只程序猿子 🎈 博客主页:一只程序猿子 博客主页 🎈 个人介绍:爱好(bushi)编程! 🎈 创作不易:如喜欢麻烦您点个👍或者点个⭐! &#x1f…

智能安全芯片ACH512芯片描述及功能

ACH512 芯片是一款基于安全算法的高性能 SOC 芯片, 主要应用于 eMMC/SD/Nandflash 大容量存储设备、加密 U 盘、指纹识别等市场。 芯片采用 32 位内核,片内集成多种安全密码模块,包括SM1、 SM2、 SM3、 SM4、 SSF33 算法以及RSA/ECC、 ECDSA、…

4WRPH6C3B24L-2X/G24Z4/M伺服比例方向阀控制板

4WRPH6C3B12L-2X/G24Z4/M、4WRPH6C3B40P-2X/G24Z4/M、4WRPH6C3B40L-2X/G24Z4/M、4WRPH6C4B24L-2X/G24Z4/M、4WRPH6C4B40L-2X/G24Z4/M、4WRPH6C3B24L-2X/G24Z4/M、4WRPH10C4B100L-2X/G24Z4/M、4WRPH10C3B100L-2X/G24K0/M-750适合控制4WRPH系列比例伺服阀,用于安装在架…

rt-thread主线程启动流程

rt-thread主线程启动流程 1.启动分析2.源码分析 1.启动分析 基于:rt-thread-v5.0.1 先执行:汇编代码startup_stm32f429xx.s开始运行,主要调用SystemInit和 __main ; Reset handler Reset_Handler PROCEXPORT Reset_Handler …

功率信号源工作原理是什么

功率信号源是一种专门产生大功率信号的设备,主要用于驱动高功率负载,如电机、变频器等。其工作原理涉及信号生成、放大和输出三个关键步骤。 首先,信号生成。功率信号源通常会采用各种信号发生器来产生不同类型的信号波形。这些信号可以是正弦…

DenseNet分类网络改进(添加SPP)--亲测有效

最近,我在做多分类问题。在针对基模型的选择中,我使用了DenseNet作为基本模型。我在阅读论文时,遇到了一种改进方式: 如上图所示,在全连接层之前引入SPP模块: 代码如下: SPP模块代码&#x…

6 大 Android 照片恢复软件深度评测

当您发现令人难忘的照片在 Android 上被错误删除或丢失时,您可能会感到非常沮丧。然而,当您尝试安装一些恢复应用程序并希望将它们重新恢复时,其中许多应用程序无法再次检测到丢失的照片。 为了节省您逐一尝试此类应用程序的时间&#xff0c…

yum命令详解和使用

目录 一、yum介绍 常见的软件封包类型 RPM的含义 二、 yum命令格式 三、常用命令 3.1 yum清空缓存列表 3.2 yum显示信息 3.2 yum安装 3.3 yum删除 3.4 yum包的更新和升级 四、常用的国内 yum 源 一、yum介绍 Yum(全称为 Yellow dog Updater, Modified),是…

西工大计算机学院计算机系统基础实验一(环境配置)

首先,不要焦虑,稳住心态慢慢来,一点一点做,跟着作者把基础打好,比什么都重要。作者曾经经历过这份痛苦,知道它有多么不好受。当初的作者高中之前甚至都没有自己的一台笔记本,上了大学以后学C语言…

unity旋转选中效果

代码和预制体 函数PlayAnim()中的角度要根据按钮数量手动填好 using System; using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; using UnityEngine;// Token: 0x0200001B RID: 27 public class BtnParentScript : Base…

数字化智慧工地管理云平台源码(人工智能、物联网)

​智慧工地优势:"智慧工地”将施工企业现场视频管理、建筑起重机械安全监控、现场从业人员管理、物料管理、进度管理、扬尘噪声监测等现场设备有机、高效、科学、规范的结合起来真正实现工程项目业务流与现场各类监控源数据流的有效结合与深度配合,…

html通过CDN引入使用Vue和ElementUI

html通过CDN引入使用Vue和ElementUI 近期遇到个需求,就是需要在.net MVC的项目中,对已有的项目的首页进行优化,也就是写原生html和js。但是咱是一个写前端的,写html还可以,.net的话,开发也不方便&#xff0…

MybatisPlus中的使用Wrapper自定义SQL

一、条件构造器 条件构造器提供了一种更加简洁和直观的方式来构建复杂的查询条件。它提供了一组静态方法,用于构建各种类型的查询条件,包括等于、不等于、大于、小于、包含等。使用条件构造器可以避免手动拼接SQL语句的麻烦,提高代码的可读性…

Pandas使用过程中的神器加持 你不用不要怪我

Pandas是我们日常处理表格数据最常用的包,但是对于数据分析来说,Pandas的DataFrame还不够直观,所以今天我们将介绍4个和Pandas相关的Python包,可以将Pandas的DataFrame转换交互式表格,让我们可以直接在上面进行数据分析…

mybatis-plus的用法。如果条件不为空则查询。返回结果类型转换

1.如果条件不为空则查询 偶尔看到这个代码。感觉大可不必 点击进入源码就会发现。 内部已经封装好了条件判断,可以说非常的人性化 而且改条件走的非常深 2.返回结果类型转换 page查询的时候,返回的结果只能是表对应的实体类。如果自定义扩展vo,dto需…

“城中村上建高楼”,开启一场数智化时代新修炼

“数字化也好,数智化也罢,你明明白白地告诉我,他们与信息化到底有什么区别?” “我在信息化方面已投入那么多,为什么又要投那么多钱搞数智化?” 中国软件网、海比研究院在《2024中国企业数智服务趋势洞察研…

Kubernetes(K8s)安全认证-10

安全认证 访问控制概述 Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。 客户端 在Kubernetes集群中,客户端通常有两类: User Acco…

【AI-Fix】解决地图展示包leafmap在Jupyter NoteBook中地图不显示的问题

1. 问题描述 新创建的环境想使用leafmap在Jupyter中进行地图展示,结果发现运行完成之后不显示,不论怎么重启都没有办法显示出来,以经验来看,多半是缺了包了。 于是去leafmap的官方文档查找原因,一开始并没有发现什么问…

用OpenCV与MFC写一个图像格式转换及简单处理程序

打开不同格式的图形文件,彩色装灰度图像、锐化、高斯滤波、边界检测及将其存储为需求格式是图像处理的最基本的操作。如果单纯用MFC编程,是一个令人头痛的事情,有不少的代码量。可用OpenCV与MFC编程就变得相对简单。下面来详细演示这一编程操…

Altair推出 Altair RapidMiner 2023 平台,提供生成式 AI 功能

Altair推出 Altair RapidMiner 2023 平台,提供生成式 AI 功能 更新包括自动聚类、扩展 SAS、Python 和 R 编程功能等 近日,Altair(纳斯达克股票代码:ALTR)近日宣布其数据分析和 AI 平台 Altair RapidMiner 取得了一系…