当前位置: 首页 > news >正文

Submariner 故障排除手册:常见网络连接问题的解决方案

Submariner 故障排除手册:常见网络连接问题的解决方案

【免费下载链接】submarinerNetworking component for interconnecting Pods and Services across Kubernetes clusters.项目地址: https://gitcode.com/gh_mirrors/su/submariner

Submariner 作为跨 Kubernetes 集群互连 Pod 和 Service 的关键网络组件,在实际部署中可能会遇到各种网络连接问题。本手册将帮助新手用户快速定位并解决 Submariner 常见的网络故障,确保跨集群通信顺畅。

1. 部署前环境检查要点 ✅

在部署 Submariner 前,确保环境满足以下要求,可有效避免大部分基础问题:

  • 网络策略:检查防火墙规则,确保各集群间的 UDP 4500、UDP 500 端口开放,这些是 IPsec 隧道建立的关键端口。
  • 节点可达性:验证集群节点间的网络连通性,可使用pingtelnet测试节点间基础网络是否通畅。
  • Kubernetes 版本:确认所有集群使用的 Kubernetes 版本符合 Submariner 兼容要求,可参考项目根目录下的 README.md 文档。

2. 常见连接问题及解决方案 🔧

2.1 跨集群 Pod 无法通信

症状:不同集群的 Pod 之间无法 ping 通或建立连接。

排查步骤

  1. 检查 Submariner 组件状态:

    kubectl get pods -n submariner-operator

    确保submariner-gatewaysubmariner-route-agent等 Pod 均处于Running状态。

  2. 查看 Gateway 日志寻找错误:

    kubectl logs -n submariner-operator <submariner-gateway-pod-name>

    常见错误如connection refused可能指示 IPsec 隧道建立失败。

  3. 验证 Endpoint 状态:

    kubectl get endpoints.submariner.io -n submariner-operator

    确保所有集群的 Endpoint 状态正常,包含有效的公共 IP 和端口信息。

解决方案

  • 若发现 IPsec 隧道问题,检查 pkg/cable/libreswan/libreswan.go 中的配置,确保证书和密钥正确。
  • 重启 Submariner Gateway 组件:
    kubectl rollout restart deployment submariner-gateway -n submariner-operator

2.2 服务发现失败

症状:通过 Service 名称跨集群访问服务时提示 "service not found"。

排查步骤

  1. 检查 Globalnet 状态(若启用):

    kubectl get globalegressips.submariner.io -A

    确认全局 IP 分配正常。

  2. 查看服务导出配置: 检查 deploy/crds/submariner.io_clusters.yaml 中的 CRD 定义,确保服务导出规则正确配置。

解决方案

  • 重新应用服务导出配置:
    kubectl apply -f deploy/crds/submariner.io_clusters.yaml
  • 检查 pkg/globalnet/controllers/service_export_controller.go 中的控制器逻辑,确保服务导出逻辑正常。

2.3 隧道建立超时

症状:Gateway 日志中频繁出现 "tunnel establishment timeout" 错误。

排查步骤

  1. 检查节点网络配置: 确认节点的网络接口配置正确,特别是 pkg/netlink/network_interface.go 中定义的网络接口处理逻辑是否与实际环境匹配。

  2. 验证 NAT 环境: Submariner 依赖 NAT 穿透功能,若集群部署在 NAT 环境下,需确保 pkg/natdiscovery/natdiscovery.go 中的 NAT 发现逻辑正常工作。

解决方案

  • 调整 IPsec 超时设置,修改 pkg/cable/libreswan/connection_file.go 中的连接超时参数。
  • 检查并修复节点间的网络延迟问题,确保网络往返时间(RTT)在可接受范围内。

3. 高级故障排除工具 🛠️

Submariner 提供了多种工具帮助诊断复杂问题:

3.1 健康检查工具

使用内置的健康检查器验证跨集群连接状态:

kubectl exec -n submariner-operator <submariner-gateway-pod-name> -- /submariner healthcheck

健康检查逻辑定义在 pkg/cableengine/healthchecker/healthchecker.go。

3.2 日志收集脚本

利用项目提供的日志收集工具获取详细诊断信息:

git clone https://gitcode.com/gh_mirrors/su/submariner cd submariner ./scripts/e2e/external/utils collect-logs

日志收集脚本位于 scripts/e2e/external/utils。

4. 预防措施与最佳实践 🚀

  • 定期更新:保持 Submariner 版本最新,参考 versions/version.go 了解版本信息。
  • 监控部署:部署 Prometheus 和 Grafana 监控 Submariner 指标,相关指标定义在 pkg/cable/metrics.go。
  • 备份配置:定期备份 Submariner 配置文件,特别是 deploy/crds/ 目录下的 CRD 定义文件。

通过本手册提供的方法,大多数 Submariner 网络连接问题都能得到快速解决。如遇到复杂问题,建议查阅项目 CONTRIBUTING.md 文档,获取社区支持渠道信息。

【免费下载链接】submarinerNetworking component for interconnecting Pods and Services across Kubernetes clusters.项目地址: https://gitcode.com/gh_mirrors/su/submariner

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/608583/

相关文章:

  • 2026年国内口碑好的立绕机源头厂家哪家好,下线机/嵌线机/插纸机/三头六工位立绕机/伺服插纸机,立绕机供应商推荐 - 品牌推荐师
  • 数字遗产继承:科技向善与法律完善的双重挑战
  • MATLAB伯德图进阶:精准标注谐振点与-3dB带宽的实现方法
  • Span<T> + Unsafe + MemoryPool = 超低延迟服务基石,3个高频场景重构实录(含完整可运行代码)
  • Nuxt3数据请求性能优化:如何用lazy和server选项提升页面加载速度
  • 小白友好指南:在星图GPU平台无代码体验OpenClaw+Qwen3-32B
  • 自动驾驶仿真新手必看:OpenSCENARIO 1.0标准场景搭建实战(附51Sim-One配置指南)
  • 别再手动调参了!用Python+PyTorch实战DnCNN,5步搞定地震数据智能去噪
  • 上海泛惠科技客服咨询AI流量赋能,重塑智能体验新标杆 - 速递信息
  • 比迪丽LoRA部署教程:WSL2+Windows本地GPU环境全适配方案
  • C# 13主构造函数深度解析(.NET 8.0.3实测对比报告):构造开销降低67%,但92%开发者仍在写错
  • 赋能智造升级——电子水泵/油泵自动化装配线供应商推荐及行业深度解析 - 品牌评测官
  • WPF新手村教程(七)—— 终章(MVVM架构初见杀)募
  • Vue项目实战:高德地图遮罩层踩坑实录(附完整代码)
  • 从安防到自动驾驶:红外-可见光融合技术落地避坑指南
  • 浅谈AI与Skill——从Claude Code看AI工具如何重塑技能价值
  • Lattice Planner算法在自动驾驶中的轨迹规划实战
  • 基于CURSOR的APP自动化测试框架实战指南(一)
  • 维护遗留代码的工程师,才是真正的勇士
  • 【OPC UA安全配置生死线】:C#工业通信必须启用的3层加密+2项证书策略(附权威IEC 62541合规对照表)
  • [Linux][虚拟串口]x一个特殊的字节芭
  • 工业视觉实战:用Steger算法提取激光条纹中心,完整流程与OpenCV参数调优避坑指南
  • 2026年三维扫描仪公司怎么选?启源视觉给出计量级答案 - 工业三维扫描仪评测
  • AutoGLM-Phone-9B功能体验:实测语音指令控制与图像识别
  • 拆解星火大模型1.5万亿参数:从医疗问诊到工业质检的落地案例详解
  • CentOS 7服务器卡成PPT?别慌,用这5个命令快速揪出拖慢系统的‘元凶’
  • OpenClaw账号注册与权限配置(个人/团队账号,适配多场景使用)
  • 别再瞎调了!用Duilib的HorizontalLayout和VerticalLayout搞定Windows桌面应用布局(附完整XML代码)
  • 3大维度解锁Greasy Fork:让普通用户变身浏览器定制大师
  • 别再只跑Demo了!手把手教你用Django+Vue3部署一个带用户管理和智能问答的AI识别系统