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

阿里云平台使用的ack创建的pod与服务器中的MongoDB不在同一网段如何解决

在阿里云 Kubernetes (ACK) 环境中,Pod 在 100.210.20.0/24 网段,服务器(ECS)在 100.210.10.0/24 网段,默认情况下 Pod 无法直接访问服务器上的 MongoDB。原因和解决方案如下:


一、网络不通的原因

  1. 跨子网隔离

    • Pod 网段 (100.210.20.0/24) 和服务器网段 (100.210.10.0/24) 属于不同子网
    • 阿里云 VPC 默认不会为不同子网自动配置路由
  2. 安全组限制

    • 服务器的安全组可能未放行 K8s Pod 网段
    • MongoDB 默认监听 127.0.0.1 或内网 IP,未暴露给其他网段
  3. 容器网络特性

    • Pod 网络是 Overlay 网络,与主机网络隔离
    • Pod 访问跨子网服务需要 VPC 路由支持

二、解决方案

通过以下任一方案打通网络:

方案一:配置 VPC 路由表
graph TDA[Pod 100.210.20.5] -->|跨子网访问| B[路由表]B --> C[添加路由规则]C --> D[目标:100.210.10.0/24<br>下一跳:服务器ECS]D --> E[MongoDB服务器]
  1. VPC 控制台路由表添加路由条目
    • 目标网段100.210.10.0/24
    • 下一跳类型ECS 实例
    • 选择 MongoDB 服务器
  2. 反向路由(服务器到Pod):
    • 目标网段100.210.20.0/24
    • 下一跳Kubernetes Worker 节点
方案二:调整安全组规则

ECS 控制台安全组 → 添加规则:

规则方向:入方向
协议类型:TCP
端口范围:27017(或MongoDB端口)
授权对象:100.210.20.0/24  # Pod网段
优先级:1(高优先级)
方案三:修改 MongoDB 绑定地址

在 MongoDB 服务器执行:

# 修改配置文件
sudo nano /etc/mongod.conf

修改为:

net:bindIp: 0.0.0.0  # 监听所有地址
方案四:通过 Kubernetes Service 暴露

在 K8s 集群中创建 Service:

apiVersion: v1
kind: Service
metadata:name: mongo-external
spec:type: ExternalNameexternalName: mongodb-server.private  # 服务器内网域名ports:- port: 27017

Pod 通过 mongo-external:27017 访问


三、连通性测试方法

# 1. 在Pod中测试端口连通性
kubectl exec -it <pod-name> -- telnet 100.210.10.x 27017# 2. 在服务器抓包验证
sudo tcpdump -i any port 27017 and host 100.210.20.x

四、阿里云特殊配置建议

  1. 使用 VPC对等连接

    对等连接
    K8s VPC
    ECS VPC
    • 专有网络控制台创建双向对等连接
  2. 启用 NAT网关

    • 为 Pod 配置 SNAT,使其使用 Worker 节点 IP 访问外部服务

重要提示:生产环境建议组合使用方案一 + 方案二,既保持网络隔离又保证连通性。修改后重启 MongoDB 服务生效。

http://www.dtcms.com/a/290226.html

相关文章:

  • cmake到ROS的catkin_make的CMakeLists.txt文件有什么区别和联系
  • OpenCV中特征匹配算法GMS(Grid-based Motion Statistics)原理介绍和使用代码示例
  • Linux的目录
  • 【备忘录】Ubuntu 配置 NFS
  • 基于VSCode的nRF52840开发环境搭建
  • Vue3 面试题及详细答案120道 (1-15 )
  • 时序顶会基础创新知识点-小波变换篇上
  • SQL通用增删改查
  • windows安装运行triton出现的问题
  • 【每天一个知识点】非参聚类(Nonparametric Clustering)
  • 【深度学习笔记 Ⅱ】11 学习率衰减
  • I2S音频的时钟
  • 第11天 |openGauss逻辑结构:数据库管理
  • 音视频学习(四十二):H264帧间压缩技术
  • CCLink IE转ModbusTCP网关与三菱PLC通讯无纸记录器
  • 大腾智能国产3D CAD软件正式上架华为云云商店
  • OR条件拆分:避免索引失效的查询重构技巧
  • Kafka 如何优雅实现 Varint 和 ZigZag 编码
  • 代码随想录算法训练营第二十七天
  • LLMs之Grok系列:Grok-4的简介、安装和使用方法、案例应用之详细攻略
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现打架检测(C#代码,UI界面版)
  • Go-通俗易懂垃圾回收及运行过程
  • 每日面试题11:JVM
  • Ubuntu 22.04 安装 Jdk 8和 Tomcat (安装包形式)
  • Three.js 从零入门:构建你的第一个 Web 3D 世界
  • 破除扫描边界Photoneo MotionCam-3D Color 解锁动态世界新维度
  • 计算机网络第四章(3)——网络层《IPV4(子网划分、子网掩码)》
  • datasophon下dolphinscheduler执行脚本出错
  • 突破密度瓶颈:PCIe 8xCAN 多通道接口技术解析
  • react 录音功能