18.flannel

docker有四种常用网络

  1. bridge
  2. joined
  3. opended 直接共享使用节点的网络名称空间
  4. none

k8s网络通信:

  1. 容器间的通信: 同一个Pod内的多个容器之间通信, 通过lo实现
  2. Pod通信: Pod IP <--> Pod IP
  3. Pod与Service通信: PodIP <--> ClusterIP
  4. service与集群外部客户端的通信;

CNI: contater network interface

flannel 不支持网络策略 支持地址分配

calico 部署麻烦,但是支持网络策略,也支持地址分配。 效率高

canel

kube-router

一般可以把flannel和calico结合使用。 把calico仅仅用来部署网络策略

解决方案:

虚拟网桥

多路复用: MacCLAN

硬件交换: SR-IOV

k8s 中加载网络目录:

/etc/cni/net.d/

flannel支持多种后端:

VxLAN

1. vxlan

2. directrouting 支持跨网络

host-gw: Host Gateway 要求各个节点都必须在同一个网段。不在同一个网段则使用不了

UDP:

flannel的配置参数:

Network: flannel使用的CIDR格式的网络地址,用于为Pod配置网络功能

10.244.0.0/16 ->

master: 10.244.0.0/24

node01: 10.244.1.0/24

    10.0.0.0/24

SubnetLen: 把network切分子网供各个节点使用,使用多长的掩码进行切分,默认为24位;
SubnetMin: 10.244.10.0/24
SubnetMax: 10.244.100.0/24 Backend: vxlan,host-gw,udp
05-17 19:32