爬坑记录------容器内外网络不通,端口无法访问

恩慈2年前技术文章1006

背景:客户需要一套datahub用于分许sparksql血缘,因此需要基于docker搭建,在搭建过程中遇到一个较坑的问题,这里做以记录


  1. 搭建完成后查看docker容器已经正常启动

    image.png

  2. 查看红框中的内容信息,datahub容器中的端口映射的为本机的9002端口,这个也可以通过docker port datahub容器ID查看

    image.png

  3. 使用nmap发现9002端口也已经映射成功

    image.png

  4. 怀疑是防火墙导致的,于是查看防火墙策略

    1693382908678.jpg

  5. 查看防火墙没问题,继续排查是否为路由或者是网络冲突导致,查看路由以及网络情况

    image.png

    image.png

  6. 排查网络无冲突,路由也无异常,既然网络容器都正常为什么进不去呢?于是进入容器内部查看服务是否真的正常

    image.png

  7. 查看容器内部端口服务没问题,可以看到执行curl也没有问题

    image.png

  8. 查阅资料后发现有可能是docker 加载内核的bridge.ko 驱动异常,导致docker0 网卡无法转发数据包,也就是系统内核的网桥模块bridge.ko 加载失败导致的,尝试升级系统内核,目前是3.10版本的内核升级到5.4版本

    image.png

  9. 升级内核后测试通过

    image.png

相关文章

HPA控制器

HPA控制器

HPA (动态扩缩容)kubectl 有一个 scale 命令 kubectl scale deployment/nginx --replicas=4 它可以帮助 Pod 进行扩缩容,这个过程完全手动...

大数据基础之HBase入门介绍

大数据基础之HBase入门介绍

一、HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HB...

kubernetes调度和调度器

一、Kubernetes调度Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都能被...

flink应用场景分析

•       Flink适合场景:•       实时数据流处理,对实时的海量...

SpringBootWeb 篇-深入了解 SpringBoot + Vue 的前后端分离项目部署上线与 Nginx 配置文件结构(2)

SpringBootWeb 篇-深入了解 SpringBoot + Vue 的前后端分离项目部署上线与 Nginx 配置文件结构(2)

        3.0 在云服务器进行环境配置        将项目放到云服务器上运行,那么离不开项目所依赖的环境,比如...

Pod终止-preStop

由于 Pod 所代表的是在集群中节点上运行的进程,当不再需要这些进程时允许其体面地 终止一般不应武断地使用 KILL 信号终止它们设计的目标是令你能够请求删除进程,并且知道进程何时被终止,同时也能够确...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。