首页 > 其他分享 >13-1 k8s网络插件CNI

13-1 k8s网络插件CNI

时间:2022-11-15 00:02:32浏览次数:51  
标签:插件 ip 宿主机 13 模式 网络 agent k8s 路由

k8s网络插件CNI
CNI:Container Network Interface:最主要功能就是实现Pod资源能够跨宿主机进行通信
Flannel: 最成熟、最简单的选择
Calico: 性能好、灵活性最强,目前的企业级主流
Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起。
Weave: 独有的功能,是对整个网络的简单加密,会增加网络开销
Kube-router: kube-router采用lvs实现svc网络,采用bgp实现pod网络.
CNI-Genie:CNI-Genie 是一个可以让k8s使用多个cni网络插件的组件,暂时不支持隔离策略

https://www.cnblogs.com/dahuige/p/15010584.html
k8s的容器虚拟化网络方案大体分为两种: 基于隧道方案和基于路由方案
一、隧道方案
flannel的 vxlan模式、calico的ipip模式都是隧道模式。
1、1隧道模式过程
隧道模式分为两个过程:分配网段和封包/解包两个过程
1.1.1分配网络
宿主机利用etcd(etcd中维护ip)会为当前主机上运行的容器分配一个虚拟ip,并且宿主机上运行一个代理网络进程agent,代理出入的数据包。
1.1.2封包/解包
宿主上的agent进程会改变容器的发出的数据包的源ip和目的ip,目的宿主机上的agent收到数据包进行拆包然后送到目的容器。
二、路由方案
flannel的host-gw模式,calico的bgp模式都是路由方案
1.1路由过程
真个路由过程分为分配网段、广播路由两个阶段
1.1.1分配网段
类似隧道模式,每台宿主上的agent会从etcd中为每个容器分配一个虚ip。
1.1.2广播路由
agent会在宿主机上增加一套路由规则,凡是目的地址是该容器的ip的就发往容器的虚拟网卡上,同时会通过BGP广播协议将自己的虚拟ip发往集群中其他node节点,其他的node节点收到广播同样在本机创建一条路由规则:该虚拟ip的数据包发至他的宿主机ip上。
优缺点对比
由于隧道模式存在封包和拆包的过程而路由模式没有,所以路由模式性能高于隧道模式;
隧道模式通过agent代理工作在ip层而路由模型工作在mac层下;
路由模式会因为路由表膨胀性能下降;

 

标签:插件,ip,宿主机,13,模式,网络,agent,k8s,路由
From: https://www.cnblogs.com/skyzy/p/16891024.html

相关文章

  • 13-3 k8s网络插件-flannel安装
    flannel安装:1、yaml方式安装:在已经安装好k8s集群之上部署flannel:获取flannelyaml文件,应用官方的yaml文件:若以下无法下载:https://kubernetes.io/docs/concepts/cl......
  • 13-2 k8s网络插件-flannel介绍
    Flannelflannel模型:host-gw模型VxLAN模型Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器......
  • 3-7 k8s-liveness和readness详解
    k8s-liveness和readness详解健康检查(healthcheck)是用于检测应用实例是否正常工作,对应用状态的监控,保障业务高可用的一种机制。k8s健康检测主要分为以下三种:存活性探......
  • 1-1、kubernetes(k8s)-介绍
    kubernetes(k8s)-安装(二)什么是Kubernetesk8s组件介绍:http://docs.kubernetes.org.cn/703.htmlKubernetes是一个开源平台,用于跨主机群集自动部署,扩展和操作应用程序......
  • 1-0 K8S基础概念
    K8S基础概念1、NodeNode作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,......
  • 1-3 k8s各组件介绍
    k8s各组件介绍master端:apiserver:资源操作的唯一入口,介绍用户的命令,提供认证,授权,api注册和发现等机制scheduler:负责集群资源调度,按照预定的调度策略将pod调度到相......
  • 【Java复健指南13】OOP高级04【告一段落】-四大内部类
    四大内部类一个类的内部又完整的嵌套了另一个类结构。classOuter{//外部类classlnner{//内部类}}classOther{//外部其他类}被嵌套的类称为内......
  • 11.13(P)
    列表While循环rt:for循环rt:    元组rt: 只有一个元素时元组  ......
  • 11.13;周日;复盘
    复盘记录内容,回顾经验编程学习1.学习方法学习初期,用到啥学啥学习20%的功能即可,不必去深究啥火学啥对于作品,是先完成再完美(编程也是一样的)c语言理论知识指针......
  • 创建openssl证书,实现集群外访问k8s api
    创建认证信息首先假设你装好了openssl(没装执行sudoyuminstallopensslopenssl-devel)1、创建一个文件夹叫做openssl-cert/$mkdir-p~/openssl-cert&&cd~/......