OK,我们现在开始,首先很感谢大家的参与欢迎参与今天的CNCF的网络研讨会我们今天的题目是原生应用中的网络流量管理我是Donald Liu,我是来自CNCF的开发者步道者今天就是今天的网络研讨会的主持现在我们会很业力地欢迎今天的讲解就是Walkley He,超市来自AWS的解决方案结构师那么在开始之前,我先介绍一些要注意的事情这研讨会的中途唱语者是没法会交谈的那么屏幕底下有一个Q&A的问到框框你可以随便在里面来提交那个问题在演讲完成以后的,我们会有一个问答的那个环节那个时间就是用来回答大家其他的问题的那么好,我们现在把时间交给Walkley好,OK,我学一下我的桌面OK,大家好,我是Walkley和我是来自AWS的解决方案价格师今天我和大家去分享的一个主题是云原生应用当中的网络流量管理主要是分这么五个方面第一个是大概给大家简要地介绍一下云原生以及为什么我们需要去管理网络应用当中的流量应用程序当中的网络流量那么网络流量也有分我们集群外重生我们所说的这些南北的一些流量还有集群内部的一些特别是我们微服化之后那些内部的一些复杂的网络流量管理然后我后面有一个大概几分钟的时间给大家做一个demo如何利用AWS下面的一些相关的微服以及网络相关的一些管理的一些工具一些服务来做一个微服的一个流量的管理最后也就是我们这个问答环节云原生我相信大家应该都比较熟悉这个名字其实它的主要的一个意图是说云计算已经成为一个新常态的一个情况之下那么在我们如果利用过去的我们的这些应用程序如何把它能够适用能够利用云计算的一些相应的一些优势能够把我们的应用程序能够更加安全 高效 稳定的部署在云上面那这些里面的云原生应用以及相应的这个CNCF云原生基金会那也有很多的一些总结具有了很多的一些开源社区的一些思想那么总结出了一些云原生的一些指导的一些原则那么在这些原则以及实现的技术方面主要有容器 服务 网购 微服务等等这样一些以及DevOps CICD等等一系列的一些指导的一些原则那么在所有的这些原则当中网络的一个流量管理其实是非常重要的一环为什么这样说呢因为网络本身是一个非常基础的一个服务那么在基础架构层面有它的一个非常重要的一个地位那么在基础架构之上又有应用程里面复杂的一些网络管理包括流量的一些分发 线流 熔断 加密等等都是从安全 从高口用从我们的这个CICD提高效率方面来考虑的一些需要做的一些事情那么我们通常去讲前面讲到微服容器等等是实现云原生技术的一个非常重要的一些技术的一些技术那其实在微服本身能够带给我们的一些很好的一些便利性的东西带来了很多的一些复杂性以及一些挑战这里面其实是Netflix之前老早就分享过的在他的Blog上面分享过的在Netflix去管理如何去高效率去管理他们这个遍布在全球的这些应用遍布在全球的这些技术设施等等这些的网络流量的一些管理那左边这个是一个他们在全球的三个主要的国家区美东美西及欧洲去做监控网络流量从这个应用程序外申的接近客户的那端的网络应用流量的一些管理那右边这张图就是他们在这个内部应用程序内部设施之间的一些网网络流量的一些管理是非常复杂的一件事情那相应的为了因为本来我们讲运员生的一个书中就是利用云服务所提供的一些便利性降低我们的一些运萎上面的一些繁琐的一些操作那这个就也是一个我接下来要讲的一个主要的一个重点如何利用云这两张图简要的来看就是说明网络流量主要的一个重点如何利用云上面得提供的一些服务来降低我们这个复杂性其实跟网络相关像AWS上面提供跟网络相关的服务非常多像我们这张图上面看到的最左边的这个VVC内部的一些网络流量管理这里面可能还只是列出了没有全部都列出来只是列出了一些相对来说比较底层的一些网络管理相关的像我们稍后会讲到的AppMesh那些是在应用程里面的一些网络流量管理那右边这些更多的是在一些技术设施方面的一些一个层次的一个网络的一个管理包括VPIN专线还有相应的这些CDIN复杂均衡等等相应的很多的一些网络方面提供的一些服务那VIN上面提供了非常多的这些网络相关的这些服务那我们如果去利用好这些网络相关的那些服务那其实也是一个很重要的一个一个话题我们简要来说后面的后续的过程当中我也会沿着这条线一直给大家去大概去讲一下我们从网络从最外层从客户端C端到最底层的应用程序内部的这些网络流量管理怎么去利用VIN上面的一些资源也提供的一些服务功能怎么去结合这些东西来降低我们管理的一些复杂性提高安全性提高稳定性我们从这张图上来看这是一张比较开要的一张图最左边开始我们的用户去访问我们的我们提供的边缘占点开始因为这个左边这个虚线框里面是提供了我们所说的通常说的一些边缘相关的一些服务从用户访问开始第一件事情那肯定是DNS解析DNS解析的Route53这个服务提供的一个功能和流量管理提供的功能其实也有相关的一些一些功能和流量管理相关比如说它能够基于地理位置基于用户端的网络延迟还有能够配置一些权重去给收不同的解析结果让用户能够访问到不同的后端去那有了这个DNS解析了完了之后呢介入的是爱情location就是我们边缘的一个位置边缘位置提供的通常我们有如果是基层的GDP可以利用Clubfront也就是我们CDN服务提供一些网络的一些一个介入那这个服务它是介入点是在边缘站点所以它是遍布在前球很多地方在另外像GlobalCyberator它也是一个在运行在在边缘站点的这么一个服务它相应来说更多的和Clubfront不一样它提供的协议更全它能够只是四层七层以及它是提供的一个介入方式是一个Anycast IP也就意味着在不同的用户在不同地区不同的介入点相同的IP地址来个介入而且和流量相关的它自身也是带有一些比如说你后端可以有多个节点它可以做这个G全状这个流量分发这是边缘节点的相应的一些服务相对用户来说比较透明的像Clubfront它是透明的自动去分发根据地理位置去找到一个最优的路介入点也有一些相应的我们能够做流量相关的一些管理一些配置像GlobalCyberator它能够提供一些全中的后端的一些不同的后端的一些配置流量的一个比例的一个配置好这是左边的我们这个边缘站点这里面的一些介入那接下来就是边缘再回到要介入到我们这个比如说AWC这不同的一些region这上面的我们美西的这边有亚洲的这些一些区域的一些介入那中间这个过程的就是一个通过AWC这边的话有backbone自动会帮我们走这个backbone而不是这个internet来介入那这个过程是一个自动完成的过程不需要我们去配置一个什么东西那有了这一层介入之后我们回到了介入到region内部那region内部那一层通常我们会在前面放一个负载均衡这负载均衡的话会帮我们的把流量去转发到后端去或者是还有另外一种也是比较上阶或者我们可以在前面放一个API的网关API Gateway这个API Gateway和流量相关的像它的有一些限流有一些后端的一些健康检查等等这样的一些和流量管理相关的一些功能那负载均衡那肯定也必不和沙的有流量管理一些功能特别是我们最近发布的一些相关的一些新的功能像我们这个ALB也现在已经能够支持配置后端不同的一些权重分发不同的比例的流量的后端然后还有一些最小连接树等等一些不同的一些路由策略和流量相关的一些东西那这是所有的我们通常说的这个外部应用程序外部相关的这些流量的管理那么后面我们就会进到这个应用程序内部去这个应用程序通常会利用哪些的一些民服务能够管理这些流量其实在进到应用程序内部之前我们可能还要看一下在这个接入的这个边界这一块就是我们应用程序的外部刚刚接入这一块通常也有很多种选择比如说我们用KBS的话KBS大家知道有个IngressIngress简单来讲是一个在处理外部流量它把吸收的这个网络请求根据我们的一个配置不同的EL的路径把它给转发到后段的这个service里面去这个大家都非常熟悉的我就不去过多的去讲我想提到一点就是说其实在KBS的Ingress里面提供的这些选项这些功能非常非常多有很多还原的有很多的这些跟云上面服务相结合的集成的比较好这些实现来看一下那些更具体的一些情况底下有一个链接有一个第三方的一个对比各种功能的一个对比这个大家可以去看一下今天时间所有限我就不去展开去说明了想提到一点在众多的Ingress当中和云服务结合的特别好的一个例子就是ABS这边提供的一个开源的一个叫ALB Ingress Control这是什么意思的大家应该知道ABS的服务ALB里面有几种类型其中的一种就是我们机身的负载均衡ALB这样一个负载均衡ALB的话它可以非常好的用这个组件之后和我们KBS的Ingress结合起来本质上当动酷有请求来的时候里面创建这个Ingress资源对象然后会自动去创建以及配置我们这个ALB这个服务然后所有的流量就从ALB这边进来这边大家看到这里面尤其是有两块的内容一块是一个黄色的一块是绿色的这个是什么意思的其实我们的这个ALB Ingress有两种模式一种是Instance模式这种模式的流量它会转发到后端的Service的NodePod关于Service的提供的这些功能稍后也会提到一点就是这个时候要求我们在Service里面的这个内形Service的KBS Service内形通过NodePod的暴露数来然后前端的前面的负载均衡连接到这边去这是这个黄色的这些里面看到这个流量的一个流向那另外一部分就是这个绿色的我们身为IP ModIP Mod相对来说是非常有意思的一个模式就是它在后端连接的时候它是直接连到POD里面去但是这样有一个条件就是POD本身的IP地址是能够被集循外面访问得到的当然这个要结合我们稍微后面会提到的C&I这一点也就是说这个时候它不经过Service直接到POD里面去那更加高效更加简单直接在另外的一些Ingress也有比较常见像Ingress N.X这也是在KBS组织架构下的一个一个project那这个东西其实也可以把它能够充分地用好和云上面的比如说我们四层的负载均衡连接把它结合起来我们刚刚提到有NotePod那一型也有一个NoteBalance那一型NoteBalance那一型借助于CalProvider实现在一大不是上面它会自动帮我们去根据我们配置的Service下面的一些onnotation等等一些设置去自动去配置好前面创建好配置好前面的NLB这样的话就非常适合比如说我们要用一些大的并发量以及需要和过展性台IP地址我们需要做这种资源的这种区域的可用区域的这种隔离以及我们需要很多的这种连接TCP连接的赏钱甚至是我们需要一些SSD一个卸载Termination在前端去使用GDPS后端使用GDP等等这样一种一些能够利用到NLB的各种特性的这样的组合NLB以及EngressNGX它的各种特点前和在一起来使用那我们讲了Engress完了之后会进一步进一步来进到这个集讯内部那第一个就面临的就是ServiceService有好几种模式我们刚刚也一直提到Modent Class-IP模式No-Balance模式其中的No-Balance模式刚刚也提到一点就是如果我们把它配置No-Balance模式它会自动帮我们去在GDPS上面去创建一个ELB负载捐款器那里面还可以配置相应的一些GDPS配置相应的一些参数等等可以把云上面的一些一些相应提供的一些服务跟它非常好的集成起来再往里面走Service后面我们就进到Port进到容器里面去那容器里面也有非常重要的一点就是在Kubernetes在设计Port以及相应的网络Port上面的网络也会很重要的一个原则就是要保证所有的Port之间以及Port跟Low的之间所有的这些都是互通互联的那也有非常多的开源的C&I的一些实现有很多各家自己的做的一些实现当中在AirPods上面也有一个非常好用的也是我们托管的EKS这个服务里面默认带的一个C&I插件我们身为AirPods VPC生安安插件这个插件的一个最大的一个特点就是说它在我们集讯内部所运行的所有的Port它的IP地址就是我们在VPC内部的IP地址也就意味着这个Port的IP地址是和我们的集中的EKS这些Low的是完全一样的IP地址那也就意味着它们在Port之间以及Port跟Low的之间完全能够互通互联而且不需要任何的其他的一些Overlay的一些设施来帮它做一些风包解包的一些动作完全通过VPC这一种的网络来转发流量所以会非常高效也能够充分利用到AWC相关的一些功能来做一些这样的集成这是它的一个特点也就在这种情况下也就意味着是每个Port在每个节点上通过每一个Low的也就是我们EC Tool上面会有分配给它多块网卡每块网卡上面会有多个IP地址那么在这个插件会自动把起IP地址自动管理然后分配给各个里面运行的这些功能OK再往里面走就是我们讲Port之间可能需要一些流量的管理那更多的可能是LowPolicy Kubernetes这里面有很多还原的一些实现小categorical也好Tegra等等也好能够提供非常多的一些功能我就不过多的去讲再往在进一步来讲的话我们看到其实 Kubernetes能够提供的功能网络管理功能其实比较有限不是太多因为我们刚才提到从Ingress开始进到ServiceService在内部互相之间通信等等路由规则也比较简单没有太多复杂的路由规则然后对于流量的管理也比较简单没有太多的策略去管理我们刚才说的Port之间的一些让它能够是否能够能够控制哪些效果之间能够通信等等一些相对来说比较简单的一些流量管理措施那实际上在现实当中的需求可能会非常复杂比如说我们通常讲到服务之间要能够通信服务多了之后它们之间有一些通信的一些健康状况它的一些流量大小等等这些东西我们都需要去健康起来能够看到一个非常清楚的在一个复杂的一个非常复杂的一个网络连接情况下非常能够清楚的能够容易看到这里面的一些网络流量的情况再一个从另外一层一个角度来看从管理 组织管理角度来看其实有很多的team有开发团队有运维团队那开发团队我们讲这个WIFU讲究一个小的一个自我管理一个小团队有自己的一个决策件它可能使用不同的技术站用Java 有的用LowJS它会完全不一样那如何把这些所有的这些东西有机的结合起来那就是SurfaceMesh所要去解决的一些问题所以SurfaceMesh当下非常热门的一个在WIFU领域非常热门的一个话题我不过多的去展开去讲述了那在SurfaceMesh如何利用好云云原生的一些利用云原生的一些资源来结合起来了就是AWS这边也有一个很好的一个例子就是我们的这个AppMesh它就是一个SurfaceMesh的一个实现它的实现其实实现原理和当下流行的一些SurfaceMesh的一些实现其实差不多比如说It's still它有自己的管理平面那底层实用M4来做那所以在AppMesh其实也是一样它的data plan数据平面还是VoE来实现的只是它Hunger plan是完全不一样稍微会提到不一样的一些地方主要是从流量管理来说其实和开源的一些It's stillVoE实现的SurfaceMesh差不多它也有一些很多流量管理路由控制的一些东西这里面的一些功能细节其实也非常多我们有一个专门的在GateCup上有一个公开的一个roadmap里面会被讲述里面所有的这些feature的一些状态它是在目前是快要发布了还是已经发布了这个里面能够看得清楚或者说我们对这个服务有一些更多的一些需求我们可以提一些e-shape提一些e-shape提一些这样的一些需求到上面然后我们的产品团队会看到之后会去评估这些功能然后会把它放到我们roadmap里面去我们刚才讲的是AppMesh的底层还是和SurfaceMesh一样实现但是在控制品面以及和其他服务的谨慎是这个理念是有点不一样的AppMesh的一个设计理念是说它把它当作一个应用程的网络流量管理的一个非常有利的一个工具这意味着AppMesh不仅仅是e-k8s服务不仅仅是e-k8s服务它可以和我们的很多的容器微服相关的服务结合起来甚至可以和传统的我们部署在虚拟机上部署在ECDU上这个服务结合起来它能够一套控制品面可以管理所有部署在这些不同的平台不同的形态上运行的这些微服的一些应用另外它还可以和我们CloudMap也就是我们提供的服务发现的这一个功能能够很好的结合起来所以从构成上讲的话它的一些主要的建计是个E-Stl也比较类似比如说它有最外正有MeshMesh代表是整个的它的控制品面所控制的以及数据品面所管理的这些五千再一些这是一个大的一个范围是一个Mesh整个一个Mesh然后还有一个Virtual Note的一个概念Virtual Note的简单讲你可以把它看作某一个KBS里面某一个Dunk一个Service提供的一个功能它里面可能只有一些除了流量分发以外的其他的一个措施比如说加密它的后端出去的流量管理进来流量管理等成这些提供的一些功能但是它是没有分发也就是说它没有它不能够提升到多个服务里面去做这个流量分发的那要做这个多个后端流量分发的话那就用到Virtual Note以及它的相遇的Roles这些东西把它结合起来使用在这个上面再封装了一层Virtual ServiceVirtual Service可以是它有一个Provider的一个概念就是它可以把利用Virtual Note或者Virtual Note挣两者二选一来提供这个服务所以我们在在Service内部在应用程序内部去连接去调用服务的时候只需要调用Virtual Service就可以了OK除了这一个之外所以我们其实有这里画的一张图是一个我们通常去用使用SexMesh去管理这些机讯我们在强量上可能是只能够去比如说一直叫它更多的示威KBS来做提升的那其实SexMesh可以化提均去管理多套部署在不同平台上面的一些应用比如说我们的容器如果是部署在ECS上面或者是部署在我们卓管的KBSEKS上面或者是我们运进在我们这个Service的容器平台发盖的上面这些所有的这些应用程序都能够在同一个Mesh之内进行管理也就是说他们之间可以去相互调用并且能够享受到ServiceMesh所提供的这一项这样一个抽象能力我不用再去管理对方的服务在哪里对方我们的服务之间怎么去录有怎么去分发是否需要应用程序不需要再去管理等等这样一些繁琐的一些事情只需要在ServiceMesh之内认识到有这个服务存在就好了至于它运行在哪里不太好所以这一层东西所有的这些实现就是ServiceMesh以外还有我们的ColorMesh也就是服务发现这些功能通过这些AppMesh本身的这个里面的这个Setup这个功能帮我们把这些服务去注册到一个统一的一个资源管理中心里面去注册中心里面去其他的服务就自动能够发现这些服务的存在这些动作路由过去然后还有右下角我们这里有一个叫X-ray就是一个服务因为我们前面通常讲到了通常Wave其实非常复杂里面的管理它的依赖关系非常多那如何去做这些分布式系统当中的整个流量的一些监控一些管理我们能够看得到里面的所有的一些一些流量的一些流向从哪里从哪些服务之间流向它的比例是多少它是否健康等等需要一个overview的一个盖栏需要这么一个一个很详细的同时能够转到里面去看得很详细的所有的这些服务调用的一些情况等等这就是X-ray所提供的一个分布式跟踪的一个功能这些X-ray的使用其实非常简单在这种情况之下我们AppMeshColorMesh以及X-ray相应的提供的一些SDK的一些功能把它集成到里面就能够能够很好的能够在我们的X-ray里面能够看得到这些服务之间的一些作用负载这些调用关系以及它们的健康状况等等OK时间有限所以我这里面的话讲的东西其实差不太多今天后面还有大概有几分钟时间我就给大家去演示一下一个刚才讲到的这个划集型利用AppMesh去管理划集型的一套一些服务这个主要的一个架构是这样这样用一个应用程序我们叫Honor Tunnel这么一个服务也就是说我们通过调用它的接口能够返回不同的一些颜色返回来最前面我们有一个Fortnode放在这里它是一个Getaway我们的进来那玩了之后后面是一个Virtual Service它的Begin它的Provider是一个RouterRouter也就意味着它有分发能力那这个里面就是我们常见的需要进行一些版本迭代时候或者我们需要进行一些挥斗发布之所需要的一些功能就是说在最早的时候我们可能是有一个Honor Tunnel的一个实现它反而会指示白颜色这一种后来我们又加了一种比如说我们加了一个蓝色进去这是不同的后端的一些服务实现那所有这些东西对应用程序对于这个前端的调用方来说它都是透明的它不知道后边是一个什么情况也不需要去我们去配置所有这些东西都是通过Virtual Service以及它相应的Virtual Automate实现的那么有了这些东西之后我们可能要进行一个迭代一个升级这个时候我们说想把这个黑色后端的服务给它替换掉替换出一个红色的这并且我们想我们左边所有这些服务都是在我们这个EKS就AirPods拖管的KBS这个服务上面来实现的突然我说我们想把它放到FarGate上面在另外一个完全独立的一个集形里面去把它给部署起来并且把它加入到Mesh里面去让前面的流量能够透明的不做任何改动的能够调用到后端的这个新的服务上面去好我就退出来这个Preservation我就给大家看一下我们demo一下这个情况简单的讲就是我们一开始的时候需要是创建一个EKS的集群就是我们刚刚看到左边的这个集群这个集群的话我在刚刚开始这个demo之前这个Presentation之前我已经创建好了因为不想浪费太多时间在这个已经好了之后然后我们就会去给大家稍微看一眼这个EKS Class的一个情况就是里面东西比较简单除了配置一些必要的一些网络Subnet等等之外我们还加了一些一些插件这样的东西在里面比如说我们需要Mesh的一些权限这些东西其实都跟权限相关因为他要跟Mesh去集成要跟Xray去集成这些东西都会他额外加那些权限进去加到这些这些Worknode上面去有了这些之后我们这还是一个一个非常单纯的一个EKS的一个期讯里面什么都没有接下来我们要做的是给它安装一些相应的Mesh相关的Hung Joon以及Sidecar Injector只有有了这些东西之后我们才能够让它能够后面去把我们部署的应用程序能够自动去注入一些M4Sidecar进去然后Hung Joon也能够控制好能够让跟MeshHung Joon集成起来这个顺便说一下也是这一个是用CAM来安装那么里面这个也是利用我们刚刚发布在GitHub上发布的一个Chart Library里面有EKS相关的一些目前的话内容还不是很多后面还有更多的一些Chart加进去OK我们我们把这个安装一下OK这个还是还是比较快的我们看一下安装的情况是怎么样了这个是Name Space是MeshSystem看我们刚才安装的这些Mesh相关组件是怎么样的这里面Hung Joon还没有Ready还差了还有一个Container没有起起来稍等一下OK现在已经是都在Running状态OK这里面我们需要的东西差不多好了这个应用程序就是我们刚才说的所说的Hung Joon这个相关的一些东西里面有一些Service在里面KFS的一些Service在里面然后把这个安装好的之后我们来看一下这个安装应该也很快我们看一下它的状态它的Service的状态OKOK这个时候Hung Joon我们刚才提到它是在最前端的我把它Service设置成了Balance类型然后它就有一个E2BE2B的一个外缝的一个地址我们看一下这个可能还要稍微等一会它我们看看它有没有Ready好它能不能缝缝OK还没有好它分配的一个新的运源还不能够解析我们稍等一下然后我们再来看一下我们在第一步也就是刚刚所看到的这个左边的这些EKS里面部署的一些东西我们再来说一下看一下右边需要部署的一些东西就发盖的上面部署的一些东西我们回到这个界面上面发盖的上面需要部署的其实很简单就是我们说的一个一个新的一个Service这是一个返回一个红色的一个Service它结果会返回红色OK那我们来看一下我们在怎么去安装这个Service然后我们再回来再等那个右边那个Service好的同时我们看一下左边是否Ready还没有好可能还要稍微再等一会在这个时间我稍微稍微说一下就是刚才我们没有说到是我们的左边那个运用审讯里面到底部署的一些什么样的东西也就是说我们这个叫Harold & Yama里面到底是一些什么东西其实挺简单一些CRD一些自定义的一些资源也就是我们那个Harold & Yama他会解释去把这些CRD的一些资源能够翻译成相应的去自动去创建Mesh像那些资源我们有Mesh有Virtual等等会有VirtualService像这个VirtualService里面我们定义的它的Targets不同的TargetsOK然后呢是后面的相应的Deployment以及Service这些KBS自带的一些必须的一些资源我们看这个好了没有OK这边已经好了我们看一下这里面的返回的话是返回的不同的颜色我们看一下是这样一个我们用Watch不停的去去Curve调这个Herd命令可能是什么样的一个情况OK也就是说它现在是会返回的是三种颜色三种颜色然后这里面是一个统计它把所有历史的调用的分布大概都是统计这里要么的数量有限所以还不能够看得出来他们是一个平均分布的一个情况如果调用40多的之后他们基本上是返回的40每次他们是军员分布的这种黑色 蓝色 白色是三种颜色好我们再来看一下右边的ECS的调用型OK还没有好然后没关系我们来看一下其他的一些服务也就是说我们期望的一些我们期望的一些功能就是我们AppMesh其实我们什么都没做没有手动去创建就是我们很久了帮我创建我们看它创建好了没有这个时候其实是创建好的它有一个AppMesh在这里它有Vertical Service有Vertical Load等等这些Vertical Load我们能够看得到的就是我们刚才说的那些不同的颜色的一些后端在这里那么这一个好的之后我们来看一下这边的ECS我看还有没有好还没有好OK可能还有点时间没关系那我们再来看一下我们说到就是我们需要的是在这些很多的微服之间能够有一个很清晰的他们之间的一个调用关系我们需要一个分布式追踪我们就是它集成的是一个X-ray那么X-ray我们来看一下很清晰就是简单是我们的GatewayGateway的话因为我们每一个Service里面都有一个Vertical Load跟它相对应所以这个前面有个叫Posit的东西这个东西就是其实里面的一个Set Card代表这个是它真正的这个服务后端那么这个完了时候它有三条路径第一条是通向分别通向白色蓝色以及黑色等等这些然后我们再来看一下这个这个有点稍微有点慢OK好像是好了好了之后我们来看一下我们要做一件什么事情我们刚才说的是我把这边退出来我们看一下Gate thisVertical Service然后我们要做的一件事情是什么呢我们去修改Vertical Service里面后端这个路由也就是这个Vertical Service我们有一个我们找到这个Nag这一部分OK在这里这一部分我们要把它改掉因为我们刚才的那个要加进去的一个新的服务叫红色RapOK完了之后我们直接保存什么都不用做我们再来回过头看一下这个SetsMesh里面的这个路由是不是帮我们改掉了我们期望的是OK已经帮我们改掉它已经是第一个默认是白色没有写出来它是白色蓝色以及红色然后我们最后来验证一下它是不是真的改掉了也就是说我们需要来看一下刚才的那个颜色返回是什么把它清掉一下也就那个统计信息能够清掉一下然后我们再来看一下WatchOK我们看到的就是这里面其实已经没有黑色了我们把黑色替换成红色所以它每次返回来就是变成了新的这种三种颜色然后我们再来看一下这个里面是是什么样一个情况是Xray里面是不是也有一些变化我们把这个时间调到最近稍微有一点有一点点慢OK这里面已经有一个新的Red Service进来但是它还没有连接起来这里应该还没有抓到最新的数据我们再来刷新一下OK这边还在更新还在不同的去发送这些请求OK我们看到已经连接起来也就是在这个时候我们有一个红色的Red Service在这里面出现了然后这里面会多了一个没有多没有多吃正常OK它现在是后段的三种颜色是变成了白色 黑色白色 蓝色 以及红色这就是我们刚刚把那个路由自动给替换掉了OK那好时间也差不多我的demo就就差不多到这里然后后续的时间OK这边谢谢欧莉的很精彩的演讲特别的那个演示的部分现在我们会到这个大问的那个环节大家可以在那个Q&A的那个案证里面把你们感兴趣的问题提出来那么我们会在时间容许的情况以下尽量来回答好我们现在开始那个大问的环节了这边大问的方式可能也是按证据以后的需要把你们的那个感兴趣的问题就是需要写进去OK这边有一个提到就是有关PPT的这是今天的我们的那个录像还有那个演讲的材料然后我们会上线的所以这边可以放心我们会提供录像还有那个PPT在我们的那个CNCF的网站另外也会在CNCF的微信也会提供的OK还有其他问题吗大家这里有一提问讲和了一部分涉及到的CSED这里是这样我没有直接去demo这个CSED这一部分但是我们讲到的是后面的一个手其实我是手动去演示了一下这个过程因为时间有限就是我们刚才所看到最后的demo环节我们会把这个这个黑色的这个service替换这个红色的一个service那么所有的这些东西我为了更清楚的去展示出来所以都是手动去操作其实也会有很方便的去把它集成起来利用一些自动化的一些工具API调用等等一些CSED的工具这里面我没有直接去演示CSED的内容因为时间有限还有其他问题吗你忘了这边有另外一条问题就是APPMATCH为什么选择envoyOK其实我看到后面的两个问题都是了跟这个有关一个是说后端采样都是什么一个是APPMATCH为什么选择envoy因为是这样这是envoy相对来说的话比较比较神秀一点吧然后它更多的是在data plan里面去做的一些事情就是在我们最早去开发这个产品设计这个产品的时候也做过了很多的一些考虑那么更多的是在hunger plan里面因为大部分是我们的设计理念这个service match的设计理念是为了去覆盖到更多的除了kbox以外的其他的所有的一些服务在应用上的一些服务envoy相对来说也比较还比较神秀一些那么envoy是这样我们目前的话有做过一些小的一些修改但是如果你去看我们的那个root map公开的root map的话我们后续会把envoy就是相关的一些和adapts相关的一些特性东西都做成插件形式然后会有一些修改会贡献在上约也就意味着我们后面会完全去拥抱完全去使用这个upstream上游的envoy在性能上面envoy是有一个相关的问题在性能上面envoy是不是做了特别的一个处理据我所知应该是目前是没有因为后面我们的策略包括我们的图管的kboxeks也是一样的情况就是envoy这边的话我刚刚提到了我们现在做了一点点修改式为了和adapts去集成的后面更多的是利用开源的上游的envoy所以后面也是同样的如果我们会要去做一些增强要去做一些特别的一些处理这些东西一定是先把它贡献到上游去然后再把它拿回来放到这里面来这是我们的一个Hontano相关的一些服务的一些策略所以目前的话据我所了解的话提到这个性能方面应该是没有做特别的一些处理据我所了解如果你想去需要这方面更多的一些功能或者需要有这个需求的话我建议可以到我们的刚才那个提到的或者你直接搜索以后在github上面有个appmash的rubemap这是官方维护的一个rubemap在上面一个公害的rubemap可以到上面去提些问题提些需求到上面去OK还有一个顺便问一下之前有提到开了个插件能大概介绍一下功能和使用的场景吗是这样因为开了个的功能其实它本身也可以当syni来使用然后它也能够提供network policy的一些功能就目前来说因为我们的EWC VPC-syni的话没有自己提供这一个network policy的一个功能network policy是在也在rubemap里面这个同样可以说我们公开的container的rubemap在kidcap上能够收得到就是我们身为下一代的syni里面做的事情那回到这个开了个插件本身它更多的是说除了syni本身的功能之外还可以单独利用它的network policy所以我刚才举到这个例子里面其实syni本身还是用的EWC VPC-syni那么利用它来做network policy的一个管理OK还有其他问题吗我们还有两三分钟时间好吧要是没有新年问题我们今天的回答的环节也结束了非常感谢大家的参与我们解释的网络研讨会的那个录像还有PBT的会上网网线的时间会上线在我们CNC的网站还有CNC的Vision号另外也期待大家可以也积极地参与未来的那个网络研讨会可以在里面跟你们见面也祝大家可以也门仔而归Hey KimWe finishedWe can stop the recordingThanksHey 谢谢大家