zoukankan      html  css  js  c++  java
  • Docker 网络设置

    一、Docker 网络默认使用的 Bridge 模式

      默认生成为 docker0 ;每个容器使用 veth 对,一头在容器的网络 namespace 中,一头在 docker0 上;

    1、Docker 采用的NA模式,网络也是隔离独立的;是将容器服务监听端口映射到宿主机的IP 端口,然后进行网络数据通信;外界访问是通过映射端口进行访问的。

    2、因为NAT 模式是在三层网络上的实现手段,所以网络的传输效率还是有影响的。

    3、还有 iptables 故障也是会影响 docker 容器网络的。

    iptables -L -n         # 查看规则
    iptables -t nat -nL       # 查看转发

    4、查看docker 网络映射;

    iptables -t nat --list-rules DOCKER

    二、在 kubnernetes 中;使用的网络是 flannel 和Open vSwitch 两种类型;

    1、Flannel 虚拟路由

      它的原理:就是预先留出一个网段,供每个主机使用其中一部分,然后每个容器被分配不同的ip;让所有的容器认为大家在同一个直连的网络,底层是通过UDP/VxLAN等进行报文的封装和转发。

      结合etcd 比较容易配置理解。默认使用 8285 端口作为UDP封装报文的端口,VxLan使用的是8472端口。

    2、Open vSwitch 

      它是一个开源的虚拟交换机;同时还支持标准的管理接口和协议(如NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag)。提供虚拟VM之间和之内的流量可见性和控制。openstack 项目也在用。

      运行原理:内核模块实现了多个”数据路径“(类似于网桥),每个都可以有多个“vports”(类似于桥内的端口)。每个数据路径也通过关联一下流表(flow table)来设置操作,而这些>流表中的流都是用户空间在报文头和元数据的基础上映射的关键信息!一般的操作都是将数据包转发到另一个vport!

  • 相关阅读:
    Kubernetes 部署 Kubernetes-Dashboard v2.0.0
    Kubernetes 部署 Metrics Server 获取集群指标数据
    内网终端安全建设(转)
    内网安全运营的逻辑体系架构(转)
    thinkphp5配置文件
    MySQL索引失效的几种情况
    workman使用
    长连接技术(Long Polling)
    php好文章的记录
    php类与对象得使用场景
  • 原文地址:https://www.cnblogs.com/sharesdk/p/9306599.html
Copyright © 2011-2022 走看看