功能 network-pinger 检测指定label的pod ips的网络指标 可达性,时延 并且检测所在的k8s集群的apiserver、dns、nodes是否健康 可以访问应用的/metrics获取Prometheus标准的指标数值 支持的metric
prometheus.MustRegister(apiserverHealthyGauge)
prometheus.MustRegister(apiserverUnhealthyGauge)
prometheus.MustRegister(apiserverRequestLatencyHistogram)
prometheus.MustRegister(internalDNSHealthyGauge)
prometheus.MustRegister(internalDNSUnhealthyGauge)
prometheus.MustRegister(internalDNSRequestLatencyHistogram)
prometheus.MustRegister(podPingLatencyHistogram)
prometheus.MustRegister(podPingLostCounter)
prometheus.MustRegister(podPingTotalCounter)
prometheus.MustRegister(nodePingLatencyHistogram)
prometheus.MustRegister(nodePingLostCounter)
prometheus.MustRegister(nodePingTotalCounter)
部署前提 部署网络可达探测IP,目前解决方式加多网卡
编译
make build-go
打镜像
make image-network-pinger
deployment目录下保存部署yaml文件 部署
kubectl apply -f deployment/network-pinger.yaml
#TODO 1、目前master分支上 只能ping pod的calico ip 开2个分支 分支mec_dev: 先解决外部网络IP的探测,然后解决子网ip的探测 分支5gc_dev: 解决whereabouts dhcp分配的ip 探测 5gc static ip的探测
2、helm部署 支持helm部署,支持makefile自动生成部署yaml文件