K8s-网络

K8s网络

Docker中可以使用网桥方式给主机上的容器分配地址,K8s容器的网络通过插件的方式来实现,K8s管理集群核心解决的就是每个主机节点的IP地址网段划分,以及单个Pod的IP地址分配

  • 保证每个Pod拥有集群内唯一的IP地址(唯一IP)
  • 保证不同节点IP地址段不重复
  • 保证跨界点Pod可以互相通信(Pod互通)
  • 保证节点的Pod可以与其他主机互相通信(Pod与主机互通)

常用插件

只要可以实现CNI的接口,就能作为K8s的网络插件了
flannel
calico
kube-ovn

Flannel

flannel,flannel属于overlay network,通过将原始报文再包一层四层协议,通过主机网络进行路由转发,但因此性能上会有些损失,overlay的实现主要采用vxlan
跨节点通信,节点内部Pod通过flannel0虚拟交互机分配IP,每个主机被划分的网段都是不一样的,当Pod跨界点通信时在最外层数据包封装为宿主机的信息进行路由传输,包中有vxlan header标识
在这里插入图片描述

Calico

calico,calico创建和管理一个三层的网络,每个容器会分配一个可路由的IP,通信时直接路由可达,不用封装解封装数据包,性能损耗小,易于水平扩展。
互联方式,小规模部署可以通过BGP client直接互联,大规模下可以通过指定的BGP Route Reflector来完成,保证所有网络通信都通过IP路由方式互联。
网络策略,calico基于iptables实现丰富灵活的网络策略
calico架构,Etcd存储集群节点网络信息。BGP client负责将Felix配置的路由信息分发到其他节点。Felix是Calico的agent运行在每个节点,负责配置路由、配置ACLs、报告状态。BGP Route Reflector作为大规模部署BGP client的中心连接点,避免每个节点互联
在这里插入图片描述

参考

Kubernetes Handbook——Kubernetes 中文指南/云原生应用架构实践手册
BGP Route Reflector
flannel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值