跳到主要内容

代码概览

本节是对KubeSkoop目录结构的大致介绍。

整体概览​

bpf​

KubeSkoop所使用的eBPF程序源码。

cmd​

CLI程序。

deploy​

用于部署KubeSkoop的Helm chart和资源文件。

docs​

文档。

pkg​

go包代码。

rpc​

Exporter所使用的gRPC定义。

test​

E2E测试。

KubeSkoop diagnosis​

cmd/skoop​

skoop命令实现.

cmd/collector​

collector命令实现.

pkg/skoop/cmd​

skoop命令的主要程序逻辑。

pkg/skoop/assertions​

断言的类型定义,以及常用的断言实现,包括kubernetes和netstack。

pkg/skoop/collector​

collector命令和CollectorManager 的定义与实现。

pkg/skoop/context​

程序的运行时上下文,提供了诊断所需的集群或诊断任务的信息。同时,它也提供了命令行参数的解析,并允许其它模块将自己所需要的参数注册过来。

pkg/skoop/infra​

云厂商相关代码的实现。

pkg/skoop/k8s​

与Kubernetes集群相关的定义,以及实用工具。

pkg/skoop/model​

与诊断相关的模型定义,包括Packet、Link、Action等。

pkg/skoop/netstack​

与Linux网路栈相关的定义以及解析工具,如路由、IPVS,以及iptables模拟。

pkg/skoop/network​

Network 的实现。

pkg/skoop/nodemanager​

NetNodeManager的实现。

pkg/skoop/plugin​

Plugin的实现,包括flannel, calico等。

pkg/skoop/provider​

Provider的实现,包括generic, aliyun等。

pkg/skoop/service​

ServiceProcessor的实现,包括kube-proxy。

pkg/skoop/skoop​

Diagnostor的实现。

pkg/skoop/ui​

格式化输出以及Web UI。

pkg/skoop/utils​

实用工具。