当前位置: 首页 > news >正文

新手怎么做网站设计与制作网站

新手怎么做网站,设计与制作网站,logo设计的六大要素,wordpress lens 模板币1、概述 我觉得只要大家知道kube-proxy是用来配置网络规则的而不是转发流量的#xff0c;真正的流量由iptables/ipvs来转发就可以了。 网络是k8s的一个关键部分。理解k8s中网络组件如何工作可以帮助更好的设计和配置我们的应用。 kube-proxy就是K8s网络的核心组件。它把我们…  1、概述 我觉得只要大家知道kube-proxy是用来配置网络规则的而不是转发流量的真正的流量由iptables/ipvs来转发就可以了。 网络是k8s的一个关键部分。理解k8s中网络组件如何工作可以帮助更好的设计和配置我们的应用。 kube-proxy就是K8s网络的核心组件。它把我们应用使用的service翻译为网络规则。 kube-proxy这个名气会有让人产生一点歧义因为有技术背景的朋友们看到后不了解之前就会想到用户的流量是先经过kube-proxy然后kube-proxy转发到集群的其实并不是这样的。kube-proxy只负责网络规则的创建修改和删除真正的流量还是依赖于Linux/Windows来接受和转发。如果从这个角度来理解kube-proxy在Linux环境上主要控制和配置iptables或ipvs, 在windows则控制和配置kernelspec。 从这个角度来看kube-proxy像是一个控制平面iptables/ipvs/kernelspec像是一个数据平面。 正因为kube-proxy不处理用户流量所以k8s的性能不会有什么问题反观Istio使用边车模式(sidecar)对流量进行管理才会导致性能问题。 在开始说明kube-proxy之前我们可以想一下kube-proxy主要想解决哪些问题。 2.kube-proxy需要解决哪些问题 服务发现给Pod提供一个统一的入口来访问服务负载均衡这里主要是kube-proxy把Pod的路由信息写到iptables或者ipvs让内核对根据支持的负载均衡算法进行流量转发 另外我想额外说明的是kube-proxy时刻都要监听Api Serverkube-proxy的老板发送过来的Pod的CUD创建更新和删除信息有变更就改规则。 3.什么是kube-proxy k8s中的Pod是临时的因为Pod中运行的是我们的应用我们的应用可能随时会崩溃崩溃了以后k8s会为我们重新创建我们不能用Pod的IP通信因为Pod每次崩溃重启IP会变更而且Pod的数量也会改变。 所以K8s就增加了Service来提供Pod统一的入口。Service提供了连接一个或者多个的Pod静态地址。我们可以这么理解进入k8s集群的流量先到达Service然后流量被重定向到Pod同时Service保证流量不转发到不健康的Pod。这个保证会在一个短的时间无法保证就是Pod从进入不健康状态到被检测出不健康的这个时间区间。 但是在网络层如何实现Service到Pod的映射kube-proxy就是干这事的。 kube-proxy会被安装在每个k8s的Node之上。它用来监控Service和Endpoint的变化。然后他会将这些变化转换为自己Node上的网络规则。 kube-proxy是以DaemonSet的形式运行在k8s集群中的。但是它也可以以进程的方式安装在Linux系统之中。安装方式可以参考官网自己选择。 kubeadmin安装k8skube-proxy会被安装位DaemonSet使用Linux tar方式安装kube-proxy会以Linux进程方式运行 4.kube-proxy工作原理 在kube-proxy安装完成后它会与API Server完成认证。 当新的Service或者EndPoint被添加或者移除那么API Server会将这些变更通知给kube-proxy。 kube-proxy在收到通知后会将这些变化应用于Node的NAT规则中。这些NAT规则就是简单的件Service IP映射到Pod IP。 当有流量发送给Service时Service会基于NAT的这些规则将流量转发给Pod。 我们来看几个例子。 假设我们有一个Service这个Service名字为SVC01类型为ClusterIP。当这个Service创建完成后API Server会检查需要关联到这个Service的Pod。我们一般是通过在Service中配置Pod的标签来选择一组Pod,所以API Server会查找与Service中标签匹配的Pod。 假设API Server查找到的Pod为Pod01和Pod02其中Pod1在Node1Pod2在Node2。API Server会创建一个抽象的Endpoint。每个EndPoint。每个EndPoint代表了一个Pod的IP地址。SVC01可以绑定到这两个Pod对应的Endpoint。假设这两个EndPoint为EP01和EP02。 这些配置在Control Plane完成后k8s还在将这些Mapping关系体现在Node上。一旦这些配置在Node上配置完成后SVC01 Servvice的流量就会被转发到EP01和EP02,如下图所示 在这种情况下如果有流量进入SVC01则流量转发如下图 Service和EndPoint映射说明 Service和EndPoint是IP和端口的映射而不只是IP的映射DNAT转换发生在源Node。因为Service类型是ClusterIP只能从集群内部进行访问如果Service类型是其他方式比如NodePort这些规则会被应用到Linux。NAT规则会随机选择其中一个Pod进行流量转发但是这个会根据kube-proxy的模式而改变 下面我们来看下kube-proxy的模式。 5.kube-proxy模式 kube-proxy支持不同的网络转发模式。每种模式用来描述Kube-proxy如何来实现NAT规则。想要知道每种模式的好坏我们需要理解每种模式的工作原理。 5.1.IPtables 模式 IPTables是最通用和最常用的模式。在这个种模式下kube-proxy依赖于Linux的IPTables的功能特性。Iptable用来处理数据和过滤数据包。它会检查Linux机器上的入站和出站流量然后IPtable可以根据规则来匹配数据包并将其转发。 当k8s使用这种模式时kube-proxy会将Service到Pod的NAT规则写入到IPTables中。IPTables根据kube-proxy写入到这些规则将流量重定向到对应的Pod。 5.1.1.IPTables劣势 IPTables劣势就是在大规模集群下性能低。 使用IPTables模式的不好之处就是它的规则是链式的因为IPTables的设计目的是为了数据包的过滤组件。那么IPTables在处理大量规则时性能就会很低因为链式查找速度慢。所以选择这种模式时你需要考虑你的k8s集群Service和Pod的数量如果数量太大的话就考虑选择其他模式了。 另外IPTables不支持一些特定的负载均衡算法只支持简单轮询方式来实现负载均衡。 5.2.IPVS 模式 IPVS (IP Virtual Server)是一种高效的Layer-4交换机实现了运行在LVS下的提供负载平衡功能的技术。IPVS基本上是一种高效的Layer-4交换机它提供负载平衡的功能。这个是k8s kube-proxy的一个较好的选择。在IPVS模式下kube-proxy将转发规则写入到IPVS中。 由于IPVS是一个专门用于交换的模块所以它的查找算法最小可以在O(1)时间复杂度完成所以它在大规模集群下能够表现出很好且很稳定的性能。 IPVS模式也支持很多负载均衡算法比如轮询最小连接和其他哈希算法。 5.2.1.劣势 IPVS模块不一定默认安装在Linux系统中你可能需要手动安装或启用它。并且如果不是大规模集群IPTables就可以满足你的场景。 IPVS和Iptable对比 tigera公司提供的数据就是开源Colico网络组件的那个公司。 服务数量与平均响应时间 服务数量与CPU占用 如何iptables和ipvs如何选择 上面的两个图表表示在1000个Pod时ipvs和iptables性能没有什么差别超过1000个ipvs模式性能更高。 另外如果你不确定使用哪个你就选择ipvs吧。 5.3.KernelSpace 模式 这个模式时Windows节点专用的。在这个模式下kube-proxy会将包过滤规则写入到windows的VFP(Windows Virtual Filtering Platform)。Windows上的VFP的工作原理和Linux的IPTables一样这就意味着VFP会将数据包中的目的IP地址替换为Pod的IP地址。 如果你不熟悉Windows平台的虚拟机那么你可以认为VFP是Hyper-V的一个扩展这个扩展专门用于虚拟机网络。 5.4.如果检查kube-proxy的模式 你可以通过接口查询kube-proxy的模式kube-proxy默认端口为10249. 你可以使用/proxyMode 来查询kube-proxy模式 curl -v localhost:10249/proxyMode COPY 上图展示了这个kube-proxy使用了ipvs模式。 5.5.IPVS规则查看 IPVS可以通过ipvsadm命令进行查看可能需要先安装 sudo apt install ipvsadm sudo ipvsadm -L COPY 5.6.IPTables规则查看 使用iptables命令查看nat规则列表 iptables -t nat -n -L COPY 6.FAQ 6.1.k8s Service是一个代理吗 ? k8s service使用起来像是一个代理它为客户端提供了一个静态接入点。 6.2.kube-proxy会进行负载均衡吗 ? 这个视情况而定。 如果你说的是的kube-proxy这个k8s的网络agent那么kube-proxy不会进行负载均衡。因为kube-proxy并不接收流量进行转发而是依赖于OS提供的能力。 如果你说的是kube-proxy创建的规则那么会。因为kube-proxy会创建对多个Pod创建具有负载均衡能力的Service这个依赖于iptables/ipvs/kernelspec。 7.总结 kube-proxy是k8s的网络代理它主要将Service的定义转换为网络规则。它在集群中的每个Node上运行并与API Server通信以接收Service的更新然后将这些更新同步到自己的Node中。 kube-proxy并不会直接接收流量并将其转发而是依赖于OS提供的相关能力来完成。 8.参考 k8s kube-proxy – FOF编程网
http://www.laogonggong.com/news/119401.html

相关文章:

  • 门户网站设计要点免费整套ppt模板下载网站
  • 设计网站考虑哪些因素wordpress自动插件下载
  • 淮南网站开发网站平台建设合同
  • 网站建设功能需求方案江津网站建设效果好不好
  • 毕业设计商城网站开发wordpress中下载按钮
  • 咖啡网站建设的需求分析嘉兴企业网站模板
  • 网站根目录是哪个文件夹国内信息图制作网站有哪些
  • 嘉兴网站广优化公司一台服务做两个网站吗
  • 一开始用php做网站外贸采购平台推荐
  • 如何介绍自己的网站wordpress显示时间插件下载
  • 知名建筑设计网站wordpress 云存储插件
  • 网站建设及安全管理网站建设与开发教学大纲
  • 服装网站的建设方案美容会所网站模板下载
  • 在线制作图片的网站抖音小程序推广怎么挂才有收益
  • 电脑做会计从业题目用什么网站当今网站开发技术的现状
  • 网站建设gon如何快速学会做网站
  • 网站制作动态微信营销推广软件
  • an网站建设企业解决方案业务是什么
  • 网站续费怎么做自适应wordpress模板
  • 免费网站注册com无忧网站后台
  • 网站美工难做吗郑州楼市最新消息
  • 网站在线制作生成贵阳网站开发哪家便宜
  • 北京国贸网站建设社群运营外包
  • 山西国人伟业网站代运营公司怎么收费
  • 怎么做frontpage网站国外设计网站排名
  • 网站建设开发数据库网站上传空间
  • asp.net个人网站怎么做wordpress数据转移
  • 个人网站备案容易吗自己做的手工在哪个网站卖会更好
  • wordpress如何建站呢wordpress配置数据库失败6
  • 台州低价网站建设html5企业网站建设