Kubernetes网络Flannel&Calico

Kubernetes上的网络通讯模型

  k8s 有三种网络:Pod网络、集群网络、节点网络。

  1. Pod网络:(Pod Ip + port)

    Pod网络用于Pod虚拟机之间互联互通,所有Pod都处于同一个网络中。

    Pod网络概念模型:

    Pod相当于是K8s云平台中的虚拟机,它是K8s的基本调度单位。所谓Pod网络,就是能够保证K8s集群中的所有Pods(包括同一节点上的,也包括不同节点上的Pods),逻辑上看起来都在同一个平面网络内,能够相互做IP寻址和通信的网络,下图是Pod网络的简化概念模型:

    

     1)同一个节点上的Pod网络

      

       Pod依赖三个网络设备

       eht0: 节点主机上的一个网卡,控制节点流量出入的设备,支持K8s节点之间Ip寻址和互通的设备。

       docker0:虚拟网桥,可以理解为一个虚拟交换机,支持节点上Pod之间Ip寻址和互通的设备。

       veth0: 上图Pod1的虚拟网卡,用于Pod内部容器互通和相互访问的虚拟设备。

      eht0和docker0都是Linux系统支持的虚拟网络设备。

    

  2. 集群网络:Service 是一个另外一个网络

  3. 节点网络:node 节点也是另外一个网络,宿主机的内网网络。

 




原文地址:https://www.cnblogs.com/songgj/p/14362761.html