deepflow本地部署过程

news2024/11/29 2:40:14

本地服务器配置,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

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

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

相关文章

VSCode + gdb + gdbserver调试ARM程序

在开发ARM嵌入式端C/C程序时,一般会在PC上编写代码,在Linux服务器上编译,然后将程序复制或挂载到ARM开发板上运行。如果程序出了问题,在不使用gdb的情况下,经常在代码中添加打印,编译,然后在开发…

nodejs+vue+ElementUi小区社区公寓宿舍智能访客预约系统

该系统将采用B/S结构模式,前端部分主要使用html、css、JavaScript等技术,使用Vue和ElementUI框架搭建前端页面,后端部分将使用Nodejs来搭建服务器,并使用MySQL建立后台数据系统,通过axios完成前后端的交互,…

内网渗透Dump Hash之NTDS.dit

Ntds.dit 在活动⽬录中,所有的数据都保存在域控的ntds.dit⽂件中。 ntds.dit是⼀ 个⼆进制⽂件,⽂件路径为域控的%SystemRoot%\ntds\ntds.dit。NTDS.dit 包 含不限于⽤户名、散列值、组、GPP、OU等活动⽬录的信息。系统运维⼈员可以使⽤VSS实 现对该⽂件…

金蝶云星空单据编辑界面,不允许批量填充操作【分条件】

文章目录 金蝶云星空单据编辑界面,不允许批量填充操作【分条件】前提说明案例演示开发设计测试填充值清空值 金蝶云星空单据编辑界面,不允许批量填充操作【分条件】 前提说明 上一个文章的设计,不管是填充值,还是清空值都一律不…

【matlab程序】matlab画螺旋图|旋转图

%% 数学之美====》螺旋线 % 海洋与大气科学 % 20231205 clear;clc;close all; n=10; t=0:0.01:2pin; R=1; xx=nan(length(t),1);yy=nan(length(t),1); for i=1:length(t) xx(i)=Rcos(t(i)); yy(i)=Rsin(t(i)); R=R+1; end figure set(gcf,‘position’,[50 50 1200 1200],‘col…

基于PIPNet的人脸106关键点检测

做美颜需要使用到人脸关键点,所以整理了一下最近的想法。 按模型结构分类: 1.Top-Down: 分为两个步骤,首先,对于原始输入图片做目标检测,比如做人脸检测,将人脸区域抠出,单独送进关键点检测模…

sql-SQL练习生

推荐一款inscode内的模板SQL练习生,此文附带目前所有题的答案 如有错误欢迎斧正~ https://inscode.csdn.net/TPEngineer/SQLBoy 为了更好的体验,请按下面的方法打开: 1.运行一下 2.等待加载 3.在网页打开 温馨提醒:此处做题不会保…

【交叉编译】

一、什么是交叉编译 二、为什么要交叉编译? 三、交叉编译要用到的工具(工具链、交叉编译器) 四、交叉编译工具链的安装 五、配置环境变量 六、交叉编译工具编译 七、带wiringPi库的交叉编译如何进行 八、软链接、硬链接 九、Linux创建链接命令…

nodejs+vue+ElementUi牙科诊所信息化系统

该系统将采用B/S结构模式,前端部分主要使用html、css、JavaScript等技术,使用Vue和ElementUI框架搭建前端页面,后端部分将使用Nodejs来搭建服务器,并使用MySQL建立后台数据系统,通过axios完成前后端的交互,…

认识异常 ---java

目录 一. 异常的概念 二. 异常的体系结构 三. 异常的分类 三. 异常的处理 3.1 异常的抛出throw 3.2. 异常声明throws 3.3 捕获并处理try-catch finally 3.4异常的处理流程 四. 自定义异常类 一. 异常的概念 在 Java 中,将程序执行过程中发生的不正常行为称为…

CPP-SCNUOJ-Problem P24. [算法课贪心] 跳跃游戏

Problem P24. [算法课贪心] 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标。 输入 输入一行数组nums 输出 输出true/fasle 样例 标准输入 2 3 1 …

出海风潮:中国母婴品牌征服国际市场的机遇与挑战!

近年来,中国母婴品牌在国内市场蓬勃发展的同时,也逐渐将目光投向国际市场。这一趋势不仅受益于中国经济的崛起,还得益于全球市场对高质量母婴产品的不断需求。然而,面对国际市场的机遇,中国母婴品牌同样面临着一系列挑…

Myblog02-基于ssm,springboot的改进

目录 一、项目概述: 应用技术: 接口实现: 数据库建表,sql脚本: 页面展示:登陆页面 项目源码:myblog01: 初版的个人博客项目-使用基本的javaWeb (gitee.com) 二、对博客系统进行测试 总结…

深入分析爬虫中time.sleep和Request的并发影响

背景介绍 在编写Python爬虫程序时,我们经常会遇到需要控制爬取速度以及处理并发请求的情况。本文将深入探讨Python爬虫中使用time.sleep()和请求对象时可能出现的并发影响,并提供解决方案。 time.sleep()介绍 首先,让我们来了解一下time.s…

【发布小程序配置服务器域名,不配置发布之后访问就会报错request:fail url not in domain list】

小程序在本地开发的时候大家通常会在微信开发者工具中设置“不校验合法域名、web-view (业务域名)、TLS 版本以及HTTPS证书”,久而久之可能会忘掉这个操作,然后打包直接上线发布,结果发现访问会报错request:fail url not in domain list&…

CETN03 - The Evolution of Computers

文章目录 I. IntroductionII. First Modern Digital Computer: ENIAC (1946)III. First Generation ComputerIV. Second Generation ComputerV. Third Generation ComputerVI. Fourth Generation ComputerVII. ConclusionI. 引言II. 第一台现代数字计算机:ENIAC&…

自定义 el-select 和 el-input 样式

文章目录 需求分析el-select 样式el-input 样式el-table 样式 需求 自定义 选择框的下拉框的样式和输入框 分析 el-select 样式 .select_box{// 默认placeholder:deep .el-input__inner::placeholder {font-size: 14px;font-weight: 500;color: #3E534F;}// 默认框状态样式更…

C++ 12.5作业

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员&…

库函数qsort的使用及利用冒泡排序模拟实现qsort

文章目录 🚀前言🚀void*类型指针🚀库函数qsort的使用🚀利用冒泡排序实现库函数qsort() 🚀前言 今天阿辉将为大家介绍库函数qsort的使用,还包括利用冒泡排序模拟实现qsort以及void*类型的指针,关…

云祺副本容灾机制讲解

副本,顾名思义就是一份数据的拷贝。 在系统中,将数据的目的分为了三种:备份、副本和归档。 其中备份数据,通常是存放在备份系统本地,或数据中心本地;副本数据通过是存放在异地的备份系统中,或…