1、kubesphere开启weavescope功能
weavescope是一款Docker 和 Kubernetes 的可视化和监控工具,WeaveScope 监控展示了主机、容器、进程的众多常用数据和状态,并提供 WebUI 帮助我们进行基本的管理操作,并且在整个过程中不需要进行额外的配置,易于上手使用。同时,WeaveScope 提供插件和插件机制方便我们进行扩展,可以说,WeaveScope 是我们初期搭建容器监控管理系统的极佳选择。
其agent则是通过ebpf实现的,所以需要确保在对应k8s部署集群开启对应ebpf所用的权限。
具体kubesphere开启weavescope可以参考kubesphere官方文档
您可以启用服务拓扑图以集成 Weave Scope(Docker 和 Kubernetes 的可视化和监控工具)。Weave Scope 使用既定的 API 收集信息,为应用和容器构建拓扑图。服务拓扑图显示在您的项目中,将服务之间的连接关系可视化。
安装前启用服务拓扑图
在 Linux 上安装
在 Linux 上多节点安装 KubeSphere 时,您需要创建一个配置文件,该文件会列出所有 KubeSphere 组件。
- 在 Linux 上安装 KubeSphere 时,您需要创建一个默认文件
config-sample.yaml
。执行以下命令修改该文件:vi config-sample.yaml
备注 如果您采用 All-in-one 安装,则不需要创建config-sample.yaml
文件,因为可以直接创建集群。一般来说,All-in-one 模式针对那些刚接触 KubeSphere 并希望熟悉系统的用户。如果您想在该模式下启用服务拓扑图(比如用于测试),请参考下面的部分,查看如何在安装后启用服务拓扑图。 - 在该文件中,搜索
network.topology.type
,并将none
改为weave-scope
。完成后保存文件。network: topology: type: weave-scope # 将“none”更改为“weave-scope”。
- 执行以下命令使用该配置文件创建集群:
./kk create cluster -f config-sample.yaml
在 Kubernetes 上安装
当您在 Kubernetes 上安装 KubeSphere 时,需要先在cluster-configuration.yaml 文件中启用服务拓扑图。
- 下载 cluster-configuration.yaml 文件并进行编辑。
vi cluster-configuration.yaml
- 在
cluster-configuration.yaml
文件中,搜索network.topology.type
,将none
更改为weave-scope
以启用服务拓扑图。完成后保存文件。network: topology: type: weave-scope # 将“none”更改为“weave-scope”。
- 执行以下命令开始安装:
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.0/kubesphere-installer.yaml kubectl apply -f cluster-configuration.yaml
在安装后启用服务拓扑图
- 以
admin
用户登录控制台。点击左上角的平台管理,然后选择集群管理。 - 点击定制资源定义,然后在搜索栏中输入
clusterconfiguration
。点击搜索结果查看其详情页。信息定制资源定义(CRD)允许用户在不新增 API 服务器的情况下创建一种新的资源类型,用户可以像使用其他 Kubernetes 原生对象一样使用这些定制资源。
- 在自定义资源中,点击
ks-installer
右侧的 图标 如下图所示:
- ,然后选择编辑 YAML。
- 在该配置文件中,搜寻到
network
,将network.topology.type
更改为weave-scope
。完成后,点击右下角的确定保存配置。network: topology: type: weave-scope # 将“none”更改为“weave-scope”。
- 在 kubectl 中执行以下命令检查安装过程:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
验证组件的安装
- 在仪表板中验证组件的安装
- 通过 kubectl 验证组件的安装
进入一个项目中,导航到应用负载下的服务,即可看到服务拓扑页签下服务的拓扑图。
2、对应物理机开始kprobe_events功能
笔者所用系统为ubuntu20.04,以下皆为该系统的操作命令:
1、执行命令:echo "" |sudo tee /sys/kernel/debug/tracing/kprobe_events
备注:如下命令解决权限问题:
/sys/kernel/debug/tracing/kprobe_events: read-only file system
cannot write to kprobe_events: write /sys/kernel/debug/tracing/kprobe_events: file exists
2、重启weavescope agent服务,使用admin账号登陆
3、查看weavescope页面