Kubernetes 部署
使用仓库或完整安装包内的 Helm Chart。DaemonSet 分离主服务、分析器和端点容器,每节点一套本地 WAL;当前不提供中心控制面或跨节点队列迁移。
准备镜像
先在 Linux/OrbStack 构建完整安装包,再构建镜像。以下地址是占位,需替换为你控制的 registry 并完成推送:
sh scripts/build_image.sh registry.example/netflowscout:0.3.0-beta.3
docker push registry.example/netflowscout:0.3.0-beta.3部署命令从包含 deploy/helm/netflowscout 的目录运行:
helm upgrade --install netflowscout deploy/helm/netflowscout \
-n observability --create-namespace \
--set image.repository=registry.example/netflowscout \
--set image.tag=0.3.0-beta.3 \
--set endpoint.namespace=apps \
--set endpoint.labelSelector='app=billing' \
--set endpoint.executable=/opt/billing/server这不会自动配置真实 Dataway 凭据。需要 Dataway 时使用 chart 的 dataway.tokenSecret/tokenKey 引用已有 Secret,不把 token 放入命令行参数。
权限和选择器
端点容器需要 host PID、BTF 和探针权限,分析器只保留所需抓包权限,主服务以非 root 运行。网络模式另需 hostNetwork。部署前核对集群策略是否允许这些设置。
通过 namespace、label selector 和 executable/policies 限定目标。API 查询按当前节点筛选 Pod,再结合 cgroup container ID 匹配本地进程。归因包含 namespace、Pod、node 和直接控制器;不会根据 ReplicaSet 名称猜测 Deployment。
存储与资源
storage.hostPath 默认 /var/lib/netflowscout,Pod 重建保留本节点积压。节点丢失不提供自动队列搬迁。分析器默认限制 2 GiB,以覆盖完整插件集、宿主和重载旧代际;按协议及负载测量后调整,不把声明内存等同 RSS。
默认 endpoint.maxTargets=8;高并发、多进程数据库及多个发现实例需要同时核对目标上限、桥接客户端数和内存。
运行验证
查看 Pod、容器日志,并在 endpoint 容器使用统一接入命令,配置通常为 /etc/netflowscout/netflowscout.json 与 /etc/netflowscout/endpoint.json。先等待实际 attached,再产生新业务请求,核对事件及各输出端确认。
API 故障时保留仍存活目标的原归因并清理退出进程,禁止依据过期列表新增挂载,同时报告发现错误。恢复后自动接纳新代际。仅 Helm 渲染成功不代表内核探针、RBAC 或真实采集已通过。