先做谈自我介绍我叫江浅工厂江浅龙浅然后我是在IBS开达工作我备在线我是去年的7-8分钟开始参与Metals设计的开发的然后主要的工作就是在CNS砲然后Metals Containerizer也就是现在大家要熟悉的Unified Container然后包括Metals Preparationer这些方面的这些项目的支持然后CNS的项目是我跟其实是IBM跟Metals Fair的一个合作项目然后主要是我跟中间这位这是Metals Fair的一个Ling文物师叫Amnus印度的一个同事我们两个一起做的他很遗憾不能到现场因为他现在印度休假所以没办法过来跟我一起讲其实这一次的三星里面讲的一些主要的功能都是他做的而上次三星是他讲的然后他讲那个三星里面的一些基本功能是我做的那是那个上一次我是没有时间经历参加那次的Metals Preparationer然后余杰大家应该都大家应该都比较熟悉然后余杰是Metals非常自身的Core Number Committer然后他是我们这个项目CNS砲的这个项目的shaper作为主要的维吾尔给我们提了很多法规的维吾尔建议然后给我们提供了一些干辣然后等于是我们三个一起完成了CNS砲的这个项目这个是今天的灯打主要大概有数个方面吧我现在就是做一个基本的背景介绍就是什么是CNS为什么在Metals中要使用CNS那么使用CNS能够给Metals特别是给Metals中创建的container的网络带来什么样的好处然后第二个是CNS砲的for NETSTAKE Container这个可能早上九点的那个大家应该已经听过了那是对NETSTAKE Container的一个比较集中介绍那我这里面可能主要是专门介绍一下关于网络这一款的NETSTAKE Container也就是砲的是怎么支持的然后第三个第三个就是这一回主要做的一个新的功能主要是支持PortMaking做这个灯口音设这个功能如果大家用过Dalker的话相信应该都会比较出去那这个其实是我们CNS砲的地方做完之后确实一直就是一个功能然后社区里面有很多不同公司的同事在问这个功能然后这回是在这一次MetalComp之前把这个给这做出来然后最后一点是目前还是正在做做过程中所以是Working Puglies然后这个主要是想要去对这个加入到CNNi网络里面的container去做一些网络的这个setcase的收集比如说它的说法包的信息这些这些跟这个网络数据相关的一些收集信息把它收集上来然后能够通过一片方式展示给用户好 什么是CNNiCNNi全程是container network and infit它其实是靠外二代同标所以它做这个专门用于container根本用于创建container管理container的多系统第一是一个经过精减裁减的一个limit然后它propose的一个network application是一个网络的规范或者是说它是一个协议那这规范主要用来做什么呢它用来去定义和规范你如何去写一些CNN的podding有一些插件那这些插件就是用来去配置你在另一个机箱创建container它的一些网络的一些配置比如它可以去创建container的网的接口以及在网的接口上去配置给这个container分配的来地主要做的就是这些东西它呢是非常简单它的价格非常简单但是又是非常强大的一个接口规范它定义的这个接口规范就是用来去定义container runtime比如说messlesmessles就是一个container runtime它去定义这样一个规范规范规定container runtime跟CNN clocking之间以什么样的方式去交互这是它的setscation里面最重要的部分那么通过使用的一个CNN clockingcontainer runtime比如说messles或者说messles agent它能够去把container用不需要创建containerattached就连接到指定的IP网络里面去那当container完成它的工作退出之后它同样会把这些container从对应的IP相关功能detach掉都开了一页目前在CNN的github和repo里面其实已经有了一些目前已经支持的CNN funding针对不同的目前来说普遍在使用的一些网络里面的方案比如说网桥的方案这个我们大家都会比较出席然后dokkerdokkerdemon如果你安装好它其实也使用了Draves的这个网络方式然后包括slandungslandung是一种怕手机的网络里面的方案然后还有calico这些其实都能够为为容器去设计的一些网络的容器的网络这些方案而这些parking都是用过来写的整个CNN的上面有它的githubgithub的repo的link大家可以去看看这个link是它的规范规范的网络关键内容它一样然后跟它规范在一起是它的所有parking的code全部是用go来写的然后其实都是非常简单大家把这个它repo的code全靠下来然后去做一个简单编译然后就可以做到所有的parking然后这些parking其实都是一个个的banner然后用go起来然后一把的编译好之后就直接可以去通过你的container runtime比如说metall去调查让它来去完成这个连接container导致定网络的工作这个是一个基本的架构就是说CNN在metall的程度特别是metall的程度中它处于一个什么样的地位它要完成什么样的工作因为这个CNN是跑到metall的程度去做的所以free mall和master这一块我就不多讲了从左边开始就是free mall然后它当然会去跟master重新比如说free mall它要去run task它要创建它的一个任务或者说它就是要创建一个container它会把这个request发给master这个流程相当于比较熟悉然后这个requestmaster会做一个简单的处理做一个外观然后之后会把request forward这个指定的adm host那么到了adm host之上其实主要的工作就是在metall container riser或者我们把掉的unified container riser它里面大家应该听了昨天的session之后对unified container riser有一个基本的了解其实它里面有一个非常主要的component叫做aslator它已经支持很多aslator应该有二个yeslator其实就是做这个自用隔离道比如说我们有sync骨版aslator它可以去对container的CPUR memory这些东西这些资源去做一个隔离我们实际上是follow类似的贼案写了一个network of CNI aslator这个aslator它其实就是用来去跟CNN的plugging去通信它是遵循CNN的规范然后去掉用CNNplugging然后把指定的container把它连接到用户所指定的IP网络程序然后大家可以看到这个plugging可以支持就是任意多种而不同plugging其实是针对的不同的网络点点方案比如说pre-planel然后卡了一块一会我会做一个简单单包演示一下那CNN的CNN的这个规范其实它就是规定了plugging你应该接受什么样的输入接受到这样的输入之后你plugging本身去做自己应该做的事情比如说我在container的Network links里面去创建container的讯取网卡Network interface然后把这个Network interface的IP配好然后同时它也规定了就是CNN的规范它也规定了你plugging的输出应该是什么那么作为我们的aslator跟aslator来讲其实它就是在调用plugging之前把plugging所需要的输入准备好这个是通过环境编达的方式传给plugging的然后环境编达甚至好就把plugging其实就是一个banner调用出来plugging完成它工作之后会有一个输出作为aslator打出来那aslator其实它就会去解析这个输出这输出其实是一个这一层格式的然后通过这个输出就能知道这一次CNI clugging的调用是否成功如果成功的话会有一些信息拿回来比如说给这个container它配置了一个什么样的app这些信息最终会会给remoteremote知道自己的container是配置到什么样的网络里面然后它在网络里面拿到了一个什么样的app这其实就是说简单一点这其实就是CNI aslator做的最主要的工作我花几分钟的时间给大家做一个代贸演示主要就是演示一下这些CNICNI popping然后以及CNI aslator在这个message我们现在是怎么工作的我会去创建一个很简单的container然后把它加入到一个bridge network进去然后我的那个研究环境在我的笔记本上我可能得到那个去演示不过没关系大家那个看大屏幕然后听不出音应该就可以不需要看的人我代贸完全是这样在我的笔记本上装了一个训机这个是一个那个Uven图1604的一个讯息然后这个讯息既作为我的那个Message master同时也作为我的Message ribbon所以这是一个all-in-one的一个环境同时我还为大家的讯息上去起一个通过Message为一个命令然后去起一个简单的free-mog然后这个free-mog会去创建一个container然后把这个container加入到指定的那个CNI网络里面去并且拿到它的IP我先启动那个Message master我这个是那个从Message原码包里面编译出来的battery然后通过Message自己带的启动master交代系统Message的启动其实比较简单的参数我就多多介绍然后一会儿主动看一下那个Agent里面就是slip里面我想要使用CNI需要那些参数这个是启动slip可以跟大家一起来看一下它的参数然后首先当然要指定master在哪儿这个master指定它的这个装不到一般都是5050因为我是单几版的没有用bookkeeper然后它的那个IP就是我这台讯你所打的IP然后container用的就是Message就是用来去创建unified container然后amd provider docker我会去使用一个docker的image把它创建成一个unified container但是并不会跟docker认证去重新然后isolation这块其实就是指定你Message的启动的时候需要去引美宝去启动哪些isolator其实大家可以看到我这里其实并没有指定CNI的isolatorCNI的其实它会默认所以这里你不需要去指定它我指定的是file system然后dopper因为我要去创建一个基于dockerdopper image的一个container所以我需要docker然后需要cgroup和cpu和mamer去限定这个containercpu和mamer然后prevare你的bacon我用的这个iPad那用的那个其实这是四种除了iPad之外还支持简单一点的coupage和band然后还有是跟docker一样去持overlay的iPad然后另外两个是跟跟CNI相关的第一个是CNI的network creationCNI的网络配置文件它放在哪个目录这个你需要指定然后第二个是CNI的所有的pubbing它放在哪个目录所以你其实只需要指定了两个目录然后我们可以一起来看一下这两个目录里面有什么样的内容第一个目录是network所有的CNI的network的配置文件我这里面有三个然后第二个目录是pubbing就是你去编译CNI的code retell然后编译完之后就会有这些pubbing在里面这些都是用构写的banner然后我们可以挑其中的一个network的配置文件来看一下它里面是什么样的一个信息其实很简单那我也挑了一个比较简单的例子这个里面是首先你要去我挑的里面比较重要的就能给大家说一下首先是你要给你网络请名这个其实你随便去然后有一个类型这个比较重要tabtab其实就是指定你的这个网络是需要使用哪一个CNI的parking需要使用哪个插件就是这个我这里使用的是brake插件如果你使用brake插件了那你必须确保你的brake插件在你的这个目录下要存在也就是我使用的其实是它它其实就是一个可定文件然后另外一个就是跟分配合与其相关的一些一些times在这个app里面首先就是说你的app的parking这其实也是一个parking这是一个二重parking这个parking是去帮忙去分配个地址的那你要如果去分配地址的话你需要指定你的网络比如说那这个它的网络就是192.168.120会从这个网络去分配地址然后这还有一些其他的路由信息这是一个比较典型的这个使用bridge的一个这个CNI network的配置然后我就会启动一个小的framework然后去launch a contender然后把contender加到指定的网络里面去有些人用过这个命令叫messus execute它会去它其实是一个很简单的一个messus framework它只能用来去创建一个contender或者是一组contender它可以去launch a contenderlaunch a contender然后它参入其实很简单你只需要指定messus master的IP因为它要去注册messus master然后注册完之后我会去launch a contender然后你想要你想要创建什么样的task或者是contender你只需要指定一个GISL门键我可以跟大家只能看一下这个GISL门键什么样的内容这是一个非常简单的可以去被launch的taskmessus master的task然后这里面你可以直接你task的名字然后你这个task所需要的资源比如说CPU然后memory然后另外比较重要就是这个网络信息跟contender信息这里我使用的这个contender的类型是messus其实就代表这是一个unified contender然后这里面你需要指定你的image而image类型我指定是docker因为刚才说到我不用一个docker的imagedocker就想去创建一个unified contender而这里面你需要指定你的image的名字我这里就用一个简单的index image去创建一个index web server这个是网络相关的信息这个里面比较简单的写法就是你只写一个名字就可以这个名字就有指定你的这个index unified contender需要去加入到哪一个CMI网络里面去这个网络的名字跟刚才我们看到的这个网络配置文件的名字要能对起来我这里下面指定的是network1那最终他就会被contender就会被连接到这个network里面去并且从这个网络里面分开现在浪出一个task大家可以看到现在这个task已经是处于rounding状态index server已经启动起来然后我们可以进入到这个contender也就是index server的networknames跟此里面看一下思源到底做了哪些事情其实contender从adm host来讲其实它也就是一个一个进程而已所以大家可以看到我执行了刚才那个命令之后它其实就会有index相关的进程那我们需要需要拿到它的pid不是它的进程号然后通过nsenter这样的一个命令然后进入到这个进程它的网络命令空间里面去看一下它的这个网的鞋但是怎么配置这个命令分析上都会有的一个系统命令叫nsenterns就是network就是name to base的意思然后gantt其实就是你指定你想要进入到哪一个进程然后gantn指的定的就是我要进入哪一个进程的哪一个name to base因为link to base是很多比如说network比如说UTS很多name to base后面就是加上你想执行命令这个命令就会在你指定了这个进程的指定命令空间里面去执行好这个大家就看得比较清楚了这个contender这个unify的contender它的这个网络网络命令空间的配置其实很简单首先最底下它会有一个lowback的介号这个这个大家都比较清楚然后那个它还有一个一态之后etc0然后它配置的IP地址是192.168.10其实就是从刚才那个sinnetwork里面获取到了一个IP地址把这个contender先单式停掉停掉之后你这桌子行就失败了因为那个contender也就是那个pro3其实已经退出了这个很简单的一个小单网因为我还会有一个单网去演示一下那个做端口音设的一个feature好第二个这个topic是关于pull的也就是nestivecontender的知识这个9点钟的那个top其实已经做了一个比较粘述的一个介绍然后我这块主要是讲网络相关的东西大家可以看到就是嗯pull的那个功能做了之后在enable上你就可以去创建一个pull就pull的概念其实呃原子的这个coupernesscouperness其实里面就有一个pull的概念它其实一组呃必须在同一个机器上去调度去运行的contender的集合那其实在messus里面是类似的概念所以大家可以看到呃我们可以在messus里面呢可以去创建多颗pull跑到一颗然后这个pull的里面可以有一组task那这些task呢你可以使用不同的dopper image去创建出来这个是messus最新做的功能然后呃这个东西从网络的它的特点是什么呢就是在一个pull里面的所有task它共享同一个networknitface其实它用的networknitface就是启动这些task呃所需的那个exculter它的networknitface大家如果了解那个coupernesspull的话其实会知道那个每一个coupernesspull里面会有一个networkcontender啊这个network就是用配置整个coupernesspull的网络的然后你除了这个networkcontender之外你自己放上contender会去link到这个networkcontender里面去跟它共享它的这个networknitface啊其实在letwork里面其实类似的概念所有的tasktask是因为我们可以认为它是紫contender这些紫contender会去共享他们的共有的副contender也就是exculter的contender的网络nitface然后除了这个networknitface之外然后他们还会去共享就同一pull的人task他还会去共享UTSnitface那如果共享UTSnitface也就意味着他们会有一个同一的一致的hosting主题名是一致然后如果一个pull的连接到多个CNNnetwork的话那么这些network对这个pull里面的所有task都是可见的所以你可以创建一组task然后这一组task组成一个pull然后在创建的时候就可以让他们去连接到多个CNNnetwork里面去这个其实是比double会做得好一点的大家如果熟悉double命路的话你可以去double rundouble run的时候你可以通过net刚刚net的这样的一个参数去指定你double run创建的就肯在那需要去连接到哪一个网络里面去但是double run其实它只持你指定一个network如果你想要创建一个double可能点去加入到多个network的话你要怎么做呢你不能用double run你得用double create去创建一个创建的时候你可以指定它加入到哪一个network里面去然后你再需要去通过double connect这个命令把它加入到其他的网络里面去然后再去用double start把这可能点起起来这样可能点起起来之后它就会去加入到多个你指定的网络里面去你不能通过double run是一条命令把它实现你需要拆分三个double来实现对于metaball就比较简单它其实是一次完成对用户来说对服用户来说是非常方便应该是plotmetaball contender的介绍然后第三个其实是我们这次avnet是做的一个比较主要的功能就是这个关于plot meting就是等候音设好我们先说一下什么是plot meting然后我们为什么需要它大家可以看到这是我的一个adent host它自己有一个网卡它的IP字是10段点发的一个IP字这个IP字对外是核防的然后我可以通过metaball在这个adent起多个contender然后这些contender点到同一个bridge network进去bridge network它的网段是一个网站bridge network大家应该都比较了解它是一个hose没的一个网站它是不能夸出机的也就意味着这个网段里面dfd是他们在这个adent host内部是互联无通的但如果你想要在另外一个adent去访问这些人是访问不到的因为这个这个字网这个网站对外是不可见的你要访问的话你只能通过这个adent host它的公共的这个IP但是问题在于我的这些contender他们每个都会在bridge上拿到自己的IP地址同时还会去监听它的服务端口而且很有可能他们监听的服务端口是一样的比如我创建两个web server他都要去监听43端口或者是80端口但是他的IP地址不一样所以你是可以这样做对外来说他们要提供服务的如果对外提供服务的话他怎么来对外的客户端来讲他怎么去访问这些服务呢就是比较麻烦的事情因为这些IP地址对外是不可见的你也不可能让他们直接在这个IP地址就去监听这些端口因为他的端口会出现冲突所以这个就是我们为什么要去做totmatic就是端口音讯这样的一个功能它的做法其实主要就是通过IP table的d9的这个功能然后去把container他自己的IP地址和他的服务端口硬设到host的IP地址以及一个唯一的端口比如说我把container他的IP地址和端口80端口硬设到我这个host的8080端口然后可以把另外一个container以及他也是80的服务端口硬设到host另外一个端口来讲这样的话对于client来讲对于扣端来讲他其实主要去统一访问这样一个agent的IP地址以及相应的服务端口就可以和这个agent很里面的一些可能性去通信那这里面做实现这一点最重要的就是这一层这个d9d9是 definition network address transition就是做这个目的网络地址翻译的这样一个功能是IP网的功能所以如果大家比较熟悉dalker的话dalker1里面有一个gump这样的一个参数其实它实现的是类似的功能还有gump就是去publish你continue的一个端口到他continue的host他们去所以我们做的功能器是存成它类似的这也是一些细节就是我们最开始做的功能是有的一些考虑那就是说CNS跑the method中CNS跑的需要去提供这种d9的能力去实现网络转发或者是网络硬设的这样的一个功能然后为你每一个隔离的sled net虽然那些我都需要去支持刚才演示的这个brake其实只是sled and c9 network其中的一种其实通过sled就是不同的那种networkbrake只是最简单的一种然后d9的spaw就是这个它这个东西应该必须模画化模画化的主要目的是让operator让管理员能够很方便的为某一个指定的sled network去开启或者关闭这个功能这不应该是一个默认或者不应该是一个强惧的功能这个灵活性应该给到管理员管理员自己才决定我的哪些sled network需要开启装后装饭哪个不需要因为有些sled network有一些sled他所支持的sled network他本身其实已经支持到后装饭了这种情况你不需要在另外一个层面在的中心做重复的功夫对于一些比较简单的像brewed这样的强惧模画它是本身不具备灯活转化的功能所以我们需要做这样的东西这些细节就是CM popping是我们用CJR写的一个blocking然后它的code就在Messos的codebase里面去大家可以看到然后它变出来的就是一个可证一下一个banner可以去看一下然后它呢其实主要就是用IPable这样的一个命令去做这个D9的设置然后它里面很重要的一点就是它有一个所谓的达理给的或者是你可以把它冲过达理这样的一个模式它可以把其他的CM popping给它封装起来然后呢这个通过这样的一个封装operated就可以指定哪些CM's这个network需要这个pod mapping的功能哪些不需要如果你需要的话你把它封装起来就可以所以原则上来讲它是可以跟任何的CM popping任何的CM network去一起工作的这个取决于operated它怎么去做这样的设置这是一个典型的使用了这个端口转发的这个CM network一个page我们看一下其实里面的一些主要的这个部分我先名字名字这个一样就是自己随根配置都可以刚刚说到了其实就是CM popping你想要使用哪一个那这里面如果你要使用端口转发的话那你必须使用这个plumbingMethodCM这就是我刚刚说的用自己家写的一个在干嘛MethodCoreBase的那一个用plumbing它编译出来的这个词应该就叫做然后你要指定IPP包的秤就是我去设置它去设置这一颗这个D9W的时候会在IPP包的哪一个去设置然后底下就刚刚说的那个所谓的Dialogate的一部模型这个里面你看你可以看到里面还有一个Type这个Type我们指定的是Bridge的plumbing也就意味着这个端口转发的功能是作用于BridgeNetwork之上然后这里面的参数其实就是一个典型的BridgeCNN它应该所就为了参数比如它的这个字网然后它使用了这个所以基本上你可以认为Podliping如果你要使用的话你可以把一个这个原来原本是一个这个普通的CNN的这个Network配置把它封装一下作为这个大的配置里面的一个自断就是Dialogate的自断里面的那个eventail上面的信息基本上都是固定的所以当flitter去为去调生涯plumbing去给CNN去配置网络的时候其实它是需要调两个plumbing它本身需要去调Podliping这个plumbing它内部会去调BridgePlumbing去配置网络然后它呢会去做flipo的d9这个端口因素这是一个稍微详细点的一个流程上面是flipo然后这边是CNN的配置这就是刚才我说的就是前面这一页的配置然后把它讲话放在这这个是flipo如果你想要去创建一个container并且这个container你需要做端口硬射的话这里面有一个比较重要的自断就是一个PortMap这样一个东西你需要指定你想把你container的什么样的扶端口硬射成你container所在Agent host上的哪一个端口比如说我想要把我的80端口这是在container的一个端口硬射到外面的8086端口当然你还需要改这个NetworkInfo里面去指定你使用哪一个Network这个Network要跟这边这个Network是要一致的然后这些信息最终会被传递到Agent这边来Agent呢它其实会去掉PortMap这个就是会去掉这个PortMap先掉它它内部呢会掉PortMap就是这个就是这个PortMap就掉它它呢会再去掉IPenem的PortMap拿到一个分配带的IP字从它指定的网络里面拿一个IP字然后它呢会去配置container的网络接口在这个网络接口上面配置分配到的IP字然后它完成了所有工作之后呢它会去调用IP配够去设置Dynast的路然后完成整个这个端口转发端口音设的配置工作这是一个整体的一个架构和workflow另外还有一些需要需要highlight这个其实第一点刚才也提到这个并不是一个唯一的这些方案用来提供Dynast因为operator就是因为它可能还会有其他的一些背景方案还有其他的这个network solution可能它一定去设置端口转发的你不需要再设置它然后对IP推报本身版本没有要求必须在1.4.20即公告版本因为我们使用它里面的一个参数一个参数在定版本它会它会然后这个fature最重要的Utlase就用换案例是把这个我们写的这个做plot mapping的plot mapping跟grid mapping把它结合起来这些功能类似于dopper webGunpeat这样的功能那最终是给unified container来使用这里面不需要dopper enginedopper demo好我再换一下做一个关于专口转发的一个小单位我还使用我刚才那个环境然后master我刚刚没推出所以他还在运行然后engine也是还在运行然后这次不同的是我需要去使用另外一个这个task的这个task的非常为难定义的task它是要这个启用专口转发功能的这个task的追测文件大家看前一个跟刚才那个那个task的非常类似都是有名字的然后有它的这个资源的相关信息vcho memory都一样都一样所有的都一样包括使用的img也一样唯一不一样就在这它所加上的网络是Metallic这样的一个网络然后里面它有一个就是它想把它的index server所鉴定的口发能刚好映射到它所在的host到那最终我们通过host来p-java.net可以去访问index server就是唯一有区别的礼物好 我们现在来去启动那个就可能只需要指定这个就可以好 它现在已经运行起来了然后我们还是跟它一样可以去看一下这个index server它的一个host它的pid是6516然后你可以通过这个命令进入到这个这个6566的那个进程的index的图面去可以看到它的网络进去其实跟它没什么区别它是另外一个网然后拿到index你可以进入去通过netfade的命令去查看它的端口进去好 大家看到它的很大的端口是80所以我们刚才我们在那个接触件看到这个样子所以你其实是可以直接带进它机身去访问这个端口这两个例子其实是在这个台机器就在这个迅迅的里面是不同的可以访问这可以进通然后你可以通过和这个命令在端口如果是enix的其实你不加强就可以访问你的index的所有这是index的这个关于界面其实我不使用pod mapping到这就结束了基本上就已经可以到这样的功能然后如果你使用pod mapping的话那其实你还可以通过你的这台机器的IPG你继续来就是这样八八八八八的端口可以访问你可以访问你然后你可以在留言器里面访问你就是做了端口转发做了端口运射之后会有这样的功能那其实主要它所做的事情其实就是标用了IPG通过另一面大家可以看它里面设置的net的入口其实就是这一条八八八八八八八八八就是它把很整整它的IPG以及它的端口硬设到了它所在的主机的八八八端口这个是就是端口运射这个功能的一个简单介绍所以使用端口运射这样的功能就可以让你的运行在Handforce内部的confiner的否端和载外部可以使用就跟double oneGunP其实是完成内部功能最后一个货配这个目前还没有做完还在做这个功能就是收集confiner的这些跟网络相关的一些信息其实可以收集的信息很多我这里只是列出了其中的很小的一部分比如说你创建出来的部分之后它的所有收到的包这些包的这个字节速可以收集到然后它发保相关的信息都可以收集到那这些信息会在这个信息这个事情也是在SNS的人去做它收集到这些信息之后会把它汇总出来然后会把它暴露到Aden的一个这个ATV的一个N框上去那对于operator来讲或者对于Dentron来讲你可以去调这样的一篇把这些confiner的这些信息可以收集到通过这些信息你可以做你自己的monitor的功能你可以去将控它的收包包的一个状态看看这张这个confiner的网络有什么问题我想跟大家分享的主要就是这些内容谢谢大家