栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Kubernetes面试题整理(持续更新)——网络插件

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kubernetes面试题整理(持续更新)——网络插件

目录

网络插件相关

熟悉哪些网络插件?各自有什么模式?插件与插件之间,模式与模式之间有什么区别?

网络插件解决了什么问题

模式基本分两种,用了隧道技术和没有使用隧道技术,即覆盖网络方案和路由方案

网络插件在使用方面的差异

云厂商提供的网络插件,有什么优点,解决了什么问题


 

网络插件相关

熟悉哪些网络插件?各自有什么模式?插件与插件之间,模式与模式之间有什么区别?

这几个问题的核心其实是一样的,解构这个问题,其实面试官关心的是你对于不同的插件/模式的理解,它们是怎么设计的,实现原理是什么,如何选择以提升网络性能即减少传输过程中对性能的损耗,那么你就需要回答出以下几点:

  • 网络插件解决了什么问题

    网络插件本质是为了解决pod的跨节点通信问题

    1. 同一节点的pod间通信通过veth-pair和docker0网桥

    2. pod与公网通信通过iptables的masquerade

    3. pod与service通信通过iptables的nat转换,在iptables的prerouting上截获所有到达主机的数据包,转到docker chain上,docker chain上通过dnat把主机地址切换到container的地址

    4. 跨节点pod通信需要网络插件支持

      K8S 快速入门(五)网络通信原理:Pod网络(上)_男人至死是少年95的博客-CSDN博客_pod网络

  • 模式基本分两种,用了隧道技术和没有使用隧道技术,即覆盖网络方案和路由方案

    flannel有以下模式

    1. utp

      utp模式适用于测试环境或者不支持vxlan的老内核下的操作系统

    2. vxlan

      vxlan模式是flannel的默认模式,它使用一种隧道协议,将二层以太网帧封装在四层UDP报文中,通过三层网络传输,组成一个虚拟大二层网络

    1. host-gateway

      host-gateway模式简而言之就是直接把节点作为网关,但需要基础网络架构的支持,需要在二层网络同一个交换机下才能实现。

    calico有以下模式

    1. BGP

      BGP模式全称边缘网关协议,是 calico的默认模式,类似于flannel的host-gw

    1. IPIP

      IPIP和vxlan模式类似,是一种将各Node的路由之间做一个tunnel,再把网络连接起来的模式:

      简单理解,就是将一个IP数据包套在另一个IP包里,使用到了Linux提供的隧道技术。可以理解为一个基于IP层的网桥,将两个本不通的网络通过点对点连接起来。

    网上很多文章,会讨论flannel和calico的区别,包括一些面试官可能也会问两者区别。但是这是不准确的,因为flannel的vxlan和calico的ipip类似,flannel的host-gw和calico的bgp类似,不能把他们交叉比较,所以其实还是模式和模式的区别,即覆盖网络方案和路由方案的区别:覆盖网络方案采用了隧道封包技术,所以会有一定的性能开销;路由方案基本等同于主机间的通信,但是需要基础网络架构的支持,我们在生产环境中肯定优先考虑高性能的方案。除此之外,不同网络插件在使用方面有一定的差异,我将在下点阐述

  • 网络插件在使用方面的差异
    1. flannel不支持NetworkPolicy

    2. calico的BGP模式可以无缝集成像OpenStack这种IaaS云架构,能够提供可控的VM、容器、裸机之间的IP通信

  • 云厂商提供的网络插件,有什么优点,解决了什么问题

    不同的云厂商都各自实现了网络插件,这些插件基本都是基于calico的BGP模式,但值得注意的是,同样需要网络设备的支持,而阿里云vpc子网内应该是不支持BGP的,因此在云上的环境,云厂商需要针对自家的vpc对calico做一层包装,比如阿里云的Terway和AWS的vpn-cni,它们正是在这样的背景下诞生的,本文以Terway为例,讲述其主要的优点

    1. 启用Terway插件下,SLB后端直接对接Pod,而Flannel插件下SLB后端不能直接对接Pod,需要通过NodePort转发

    2. 启用Terway插件下,Pod地址即为VPC中地址,无NAT损耗支持独占ENI模式,几乎无损

    更具体的区别可以参照以下文档:

    如何使用ACK集群的Terway网络插件_容器服务 ACK-阿里云

值得一提的是,在选取Terway插件时,默认都是不开启NetworkPolicy的,在云上隔离安全限制的最佳实践还是安全组。

参考资料:

K8S 快速入门(五)网络通信原理:Pod网络(上)_男人至死是少年95的博客-CSDN博客_pod网络

基于阿里云Terway网络的Kubernetes集群实践_BGBiao的博客-CSDN博客 

K8s网络实战分析之Calico-ipip模式_碰碰猪的博客-CSDN博客_calico ipip 

如何使用ACK集群的Terway网络插件_容器服务 ACK-阿里云 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/940715.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号