 webinar you are not able to talk as an attendee. There is a Q&A box at the bottom of your screen. Please feel free to drop your questions in there and we will get to as many as we can at the end. This is an official webinar of the CNCF and as such is subject to the CNCF Code of Conduct. Please do not add anything to the chat or questions that would be in violation of that code of conduct. Basically please be respectful of all your fellow participants and presenters. Please also note that the recording and slides will be posted later today to the CNCF webinars page at cncf.io slash webinars. With that I'll hand it over to Abhi to go ahead and kick off today's presentation. Take it away. Thank you Rishi. And hello all. This is Abhi. So today we are going to cover using cupid intelligence right before we begin. All right so about myself I'm an author, speaker and blogger. I'm an open source contributor. I work primarily in a Linux foundation edge project called Ekino and I will be taking case study from Ekino edge tech and I'm working as DMTS which is distinguished member of technical staff in CTO 5G team in Vipro. All right so here's the agenda for today. First I'm going to start with the current challenges in telco especially from a vnf and cnf hosting perspective and then after going through the challenges we will see how does your cupid fits and how does cupid helps in addressing some of those challenges right. So that way I will be summarizing what Google cupid is going to play in telco world and after that we will see a case study on cupid like how does it actually work right and it will have a setup steps sessions and at the end we will have a key takeaways where I will summarize on current cupid status and from telco perspective right and that will be the key message from this presentation. All right so let's get started from current challenges perspective okay so the first one is legacy applications are not going to go away very soon right now though cloud native computing adoption is growing at a very fast pace but there are situations like applications which can't be standardized because either there's no source code or maybe they they're not architected for containers and in many cases they are using some proprietary OS it could be from telco vendor or from somewhere else or maybe some operating system which is not supported in container world right. So this is one of the category of legacy application which can't be standardized and second category is non-replaceable legacy apps right so though everyone if there is a legacy app which can't be standardized then the next logical conclusion is that why not replace it with something modern right and something which is cloud native and and maybe the upgraded version of the application and so on but in few cases there are applications which can't be replaced either because they are like 20 years old even they are given from a small vendor which is no more present right so there could be several scenarios so the summary from this slide is that legacy applications will be there I mean having 100 cloud native world is kind of myth now second challenge is about vnf right so though everyone so before we get into vnf let me first cover what is vnf and cnf so it all started from pnf right which is physical network function so in telco world you have all kind of network function right some something like firewall routers those are very commonly used network functions and earlier they were present in terms of appliance right and they were called pnf physical network function right now the challenge with pnf was they were very difficult to scale so if you want to scale it you have to buy more appliances and you have to manage it individually right because they were like all in a box kind of solution right and then came vnf which was virtual network function right where the hardware and software segregation was done right so then so let's say if it is a firewall then firewall was given as vnf which you can run on any of the x86 hardware right but still it was a vm based so it was virtual machine based and the most commonly used open source platform for vnf hosting is open style right and now after vnf came cnf which is cloud native network function right so or container native network function some people call it that way also so in cnf what happened i mean these virtual network function which were like vm based they were kind of converted into container based now in this vnf and cnf transition what happened i'm coming back to my previous slide the conversion from vnf to cnf is very long i mean it is very not very straightforward and everyone knows if i have to convert a monolithic application to microservices based application i have to do sometime entire rewrite of the application and in telco world this becomes even more difficult because performance is one of the key criteria right so so there is longer like longer cycle of vnf to cnf conversion right second is cnf is still evolving so as of today it's not like a 5g core is 100 cnf there are still some vnf present there and even if we manage to convert entire 5g core into cnf the 4.5g or the anti advance is going to be there for a decade or more right because 5g the way right now things are happening right we have 3g and 4g both and 3g is kind of getting phased out now where 5g is already rolled out right so so what is going to happen for next several years we are going to have both so we are going to have lt advance as well as 5g that means vnf which were introduced in in lt advance will still be there and we have to manage vnf right we cannot have cnf in lt advance right and last point is that kubernetes is still adopting to telco specific requirement so there is a in cncf also we have a dedicated telecom user group right which is focusing on this kind of work right so the key message here is that having a world where only cnf are present is not going to happen very soon right there will be vnf and cnf both now i have briefly covered this slide but the other message from this slide is that right now there is no single hosting platform for vnf and cnf both right so if i want to host vnf i have to go with open stack right and if i have to host cnf of course i mean the the multiple option i'm just covering open source based option so if i have to host cnf i will have to go with kubernetes right but will it be uh i mean it will be really good if kubernetes itself can become a single hosting platform so is it really possible to use kubernetes to host both vnf as well as cnf in other words what what we are saying is can kubernetes host my containers and my virtual machine inside containers right so i mean it's like uh reversing the way things were done so earlier you were running container on top of virtual machine now we want a virtual machine to run inside containers okay coming to next challenge in terms of mec platform so right now we don't have single mec platform mec stands for multi access edge computing right so in mec you have all kind of scenarios right so in mec if it is for private network you will have vnf to be deployed right and if it is for let's say uh for enterprise applications and edge kind of deployment let's say far edge deployment then you will have uh some virtual machine based application to be hosted or container based application to be hosted there might be some cnf also from private network perspective right so mec is going to have a mix of all so mec will mec platform will have vnf hosted cnf hosted and some third party applications which are either container based or vm based right now uh there is no native support for virtual machine hosting in kubernetes everyone knows that right uh so kubernetes is container orchestration platform it was kind of designed and developed for that purpose only right and now if you want to fix these kind of scenarios where we want capabilities for vm and container both so vm hosting can be done with open stack dcn kind of architecture and container hosting can be done with kubernetes but the problem is if i go with two mec platform right uh then i'm kind of increasing complexity for my mec platform management i'm also increasing the cost right so it the real question is can we have just one mvc platform that will satisfy both the needs okay so uh with this uh let's see what is kubernetes so kubernetes helps in answering some of those questions so kubernetes is a cncf sandbox project and this is a logo of kubernetes uh it helps in marrying virtual machines and container world and it allows us to run vms inside a pod okay so the the major difference here is what we are saying that it's okay if we are not able to get rid of vm because everyone wants to get rid of vm and come to container world but it's okay if we can't do that what we want to do here in kubernetes bring that vm as vm okay so let's say if there is a windows virtual machine i want to run windows virtual machine inside my kubernetes cluster as is i mean i still want to do remote desktop to virtual machine and do all the operation the way i'm doing right now right but i want the flexibility and benefit of kubernetes there right scalability benefits and the single management benefit so that's objective here in kubernetes and kubernetes helps in uh eventual containerization what is easy uh so eventual containerization is uh all about cloud native adoption stages right so when some organization is on their cloud native adoption journey there will be uh let's say percentage adoption where uh if they have 100 application they will containerized uh maybe 20 application in the beginning 80 will still run in non-container world and so on and they'll keep on increasing this ratio to i mean ideally it will be 100 percent but if not then it might be let's say 90 percent on a container and 10 percent on virtual machine the traditional way right in this eventual containerization what happens in this journey that you have your virtual machine hosting platform like hypervisor base platform and you have your container platform like kubernetes in parallel right both exist in parallel so uh the easier way is that uh we can move vm as vm so while some uh company is adopting this eventual containerization or cloud native journey they can on the day one what they can do they can simply migrate all the vm's right uh to kubernetes right and and run them as vm okay and then slowly pick up maybe uh one application at a time right and then uh try to convert that into microservices try to convert those into containers and then get rid of that vm and so on right so that way uh it's it's possible to uh remove vm hosting platform even before you're 100 percent there right so that's one of the key benefit of this concept now uh from telco perspective because that is what the objective of this session is so what is a kubernetes role in telcos how does it help so kubernetes helps in uh handling situation uh uh see i covered four five problem statements right so it helps in having single compute platform for both bnfs and cnfs and it also helps in single mec platform for uh applications which are either virtual machine based or container based and since you have single platform you can have uniform development experience you have easier management and the best part is uh you can reuse your kubernetes skills right you don't need to really maintain two sets of skills so that's a benefit now uh let's see how kubernetes runs so i'm not getting into kubernetes architecture or kubernetes component details and all i will i just want to show this uh from a real action perspective right so so this is a small case study that is based on acuno edge stack project right uh which is uh called kni kubernetes native infrastructure based edge stack in that kni edge stack we have cubert integrated right so the thing that is mentioned here is open shift 4.2 but uh open shift 4.2 is not mandatory you can use open shift open source version which is called okd right uh and that will also give the same result so uh objective here is to run windows uh let's say 2012 iso image right we want to run windows machine on kubernetes platform right and we want to see like if i have a vm-based uh application right how do i run that vm-based application inside kubernetes and why i picked uh windows because uh windows vms much more complex than uh linux one linux one is quite straightforward all right so what are the prerequisites here obviously we need our kubernetes cluster up and running whatever it is it could be open-shift it could be something else it could be kubernetes itself core kubernetes you need your iso image that you are going to use you need uh internet access to download uh few components like some binaries and all right and then uh you need uh disk space for holding the windows image and let me show you how it is done okay so these are the high-level steps okay so when someone wants to use kubernetes uh it comes as an operator okay but kubernetes alone doesn't really work i mean you have to have uh uh other surrounding systems for kubernetes okay like uh you need to have cdi and uh you need to have word ctl you need to have uh bnc so uh kubernetes does only one thing right it it helps in uh getting your vm uh kind of provision inside part right but uh to make that thing happen you need to have your let's say windows iso image or any linux image to be there right which will be used for installation to get that part we use uh two things one is word ctl another one is cdi which is container data import okay and uh then there are yaml file given there are so many sample yaml file given in kubernetes website and you can to start with you can use any of those yaml file related to your use case okay and then modify it according to your needs and from a space perspective you need to create a persistent volume right which will hold the windows installation so the way it happens is i mean just for visualization perspective see when you get a new laptop and you want to install your operating system what you do you plug your pendrive or cd or dvd inside it and then you start installation right it just boots the server and then you do the installation you do some parameter configuration and at the end you will have your windows up and running the same thing is done here right now in this case what we want we want that iso image to be available first right as some drive right drive in windows world and that iso image should be bootable it should run on its own when when uh we want to launch that instance it should run and then we will do the configuration using vnc viewer vnc viewer is one common utility that all of us know about right and after that you install windows so now the question is iso base installation is something where you have to do everything from scratch right so is this the only option for vm hosting answer is no you can as well migrate your existing vm image which might be in a format like qco to format or some other format that is also supported right so you can bring your qco to image here and then you don't need to do any installation it will simply it's like a cloning right so that is also supported so i've taken a bit complicated case and in this particular case i'm also using a chef for my storage and room operator is also used okay so chef rook will also be in picture now let's see how we do it so uh as i mentioned before there will be eight steps first step is configuring the cdi right cdi is containerized data imported so this guy does the image import okay so how do we get this image okay let me show you so uh i'm showing you the exact command here right that you need to run so if you follow this as is you will be able to run windows vm in no time all right so first is first command is just exporting the version to get the latest version okay and then you run this cdi operator right for that version and it will run very quickly it hardly takes three minutes and then once your operator is created you just create the cdi cr okay so this these two commands are good enough to do cdi configuration okay now next one is uh moving to next one now uh we are going to configure cubert right so for cubert configuration i have taken version 26 so whatever is the latest version uh when you are doing the installation you can pick the latest version at that time so first we create one namespace right so all these commands are being executed inside your kubernetes cluster right so first and i'm showing oc apply now if you're running it on kubernetes you can simply replace oc with cube ctl so you say cube ctl apply dash f and give your cubert operator file location right and cubert cl location right and uh if you're running uh this on open shift or okd then you have to run this security context uh file also right and again if you're running rook chef then you have to apply one more file okay now last two steps are not applicable if you're not using let's say chef you might be using host path or something else and the if you're not using open shift then obviously security context related to setting is also not required okay so with these two steps first two steps you are done with cubert setup now your cdi is set up your cubert is set up now you want to upload the image right how do you upload the image for image uploading you use a utility utility called word ctl okay once again take the latest version right and how do you get word ctl cubert website has word ctl utility right so you take the same version which you have taken for cubert all right and this is very much the standard process that you follow right just download it and change the execution mode to i'm just 2 plus x and it will be acceptable okay now before you run the image upload command which is word ctl image upload you need to have the upload proxy url okay now how do you get that upload proxy url so when you set up cdi right in the first step it will create this upload proxy okay so if you run cubert ctl get svc get services for your cubert namespace you will get the service created and you will have the ip of that right so you will see upload proxy url there okay take the ip from there and replace it here and in this command you also need to give pvc name and i'm using chef so i don't need to create pv right because chef root will take care of pv creation based on my storage class so i'm just giving pvc name here which is iso win 2k12 pvc then we say access mode read only money then we give some pvc size 25 gb for being on higher site but even 15 gb is good enough because typically windows image is around 10 to 12 gb so 15 gb is good and then you get the image path wherever it is present right so in my case it was present in 10 folders where i get that path and then you say insecure flag okay and then wait second for number of seconds right wait second is required so that it does not time out because sometime based on image sizes unlike linux windows image sizes are huge so let's say 14 gb 10 gb these kind of image upload runs into several minutes so by default this time out is i believe 60 seconds so if you don't increase it after 60 seconds it will simply time out so just increase that to some reasonable number maybe five minutes six ten minutes whatever okay so how does this command look like i mean what is output we get so once you run this command you get this kind of output it says using existing pvc and waiting for pvc upload what to be ready and then uploading data so the iso image without uh extract was like 4.17 gb so it uploaded 4.17 gb in one minute 13 seconds okay and what it does internally is it will create two pvcs one will be uh with the name that you give win2k12 pvc or whatever name you have given and one will be with dash scratch so scratch is like temporary space right so it copies actually on scratch folder first and then from there it copies to main folder and then scratch is removed okay so uh once this part is done your image is uploaded right where is it uploaded it is uploaded to a port now uh coming to uh the pvc creation so if you're using rook right with sef then you have to create pvc like this right and which storage class to use which i'm highlighting it right uh that you can find out from uh kubectl get storage or oc get storage right and give that appropriate storage file storage class okay so let's move on now with that what happened uh we got our image uploaded to a pv right now that pv should be mounted to your uh port right it should be that volume should be mounted right so what we do there uh and before that uh we also need vertio container disk drivers right so how do you get vertio drivers you simply run either docker pull command or podman pull command so uh this is i believe some 250 mb to 300 mb file right uh so you get this file and after this you run uh as i said in the beginning you can download any of the windows example file just to play with it just just to see how it is really working and uh so i've taken a sample file from cubert github link okay and then i'm just running that yaml file and it says vmi windows created what happens uh so it has created a vm but it is not up okay it is in shutdown mode so if you run a command cube ctl get vms oc get vms you you will say running equal to false right so to make it i mean to so so next step is you need to start the vm right so you run a command word ctl word ctl is your uh command line interface for all kind of operations okay so to start the vm simply say start vm and give you a vm name right vm name is defined inside the yaml file and then uh it will say it is scheduled to start it will take uh some time and then after some time if you run oc get vm you will see your sample vm running okay and then you will see your uh i mean when you do oc get vmi vm instance that will be hosted inside uh some part right so when you say oc get vmi it says sample vm five minutes it's running from five minutes you will see the ip and you'll see the node also where it is running right so with this uh your vm is started now your windows is still not installed right because we have used iso file so iso file requires installation right so how do we do that so now we will connect to that vm using vnc viewer so you run this command word ctl vnc and give you a vm name right you need to run it from any x terminal like mobile x term or any other software right so uh and if you get some error like remote we are not found then obviously you need uh word viewer installation okay so once your word viewer is installed then uh the vnc will show this kind of output and this is very much similar to the output that you see on your laptop right when you do your windows configuration for the first time so after this obviously you know all the steps you just do next and start giving different different steps uh different configuration okay now here since you're running uh inside pod and all the your keys will not work right so you have to use all these tabs space bar and the traditional old way you have to do this okay and once uh you're done it will restart your vm and there is a nice video also on cubert website i've given the link you can have a look at that video that video talks about how to use those vertio drivers which one is supports and how to select the right vertio driver all that is given in this website uh you can refer to that and after successful installation you will see screen similar to below right of course you will not see congratulation message but yeah you will see the familiar windows screen and you can access it the way you wanted to where where you are used to use windows now let's alert part from this particular setup one that putting vm inside a pod results in nested virtualization in fact uh you have to enable nested virtualization then only it works right hence it has some performance overhead right and a cuber team is working on improving that part and there are so many features which are working progress like uh in traditional uh vm world right you are you can easily change your cpu memory right on the fly but here it is uh not allowed till now right and next point the key lesson is that uh you should run this image upload from masternode so don't run it from any bastion host or other host which is not master and always use the latest version of cubert okay some of the common challenges here uh rookship permission issue uh was there i mean which i faced and because of which image was not getting uploaded okay and to fix that i have already shown uh we need to run one script which is given and then there was some bug related to vnc due to which uh whenever i was launching the vm it was kind of coming and going right away i mean so you will see that yeah some windows machine is there but you will not see that for more than a few seconds so that was uh some bug in cubert and upgrading cubert help in fixing this so upgrading cubert is very simple job very straightforward single command job so upgraded to latest version and that issue was gone in fact that that's why i uh suggest to always use the latest version okay and uh few i mean sometime this cluster operator also gets degraded authentication operator and and you just need to fix that so that you don't get this no root to host error okay these are common challenges some of the key takeaways so cubert as you know it's maturing at very fast pace so obviously a lot of changes happening things are improving day by day some issues are expected that is fine because it's still uh it is not graduated it is still a sandbox project but the good part about cubert is and that is one thing i would suggest everyone to join cubert's slack channel and there we have a lot of people who are there to respond to your queries almost immediately right and i'm also uh i also want to recommend this examples website right which has so many examples that you might want to try right so let's say three different linux version hosting or five different widows vm hosting options and also all those examples are already there very good documentation and very good slack channel now the key question is from telco perspective see in my previous case study if you were having let's say a cube code to image right in fact cubert has a vm migration option also right it has some condition but yeah it works okay so you don't need to really do iso based installation you can do vm migration okay and from telco perspective there are some features which are listed on the left right you see here so you need all these features to be available so that we can call it telco ready so huge page support since since cubert runs on top of kubernetes so uh some of it are related to kubernetes itself right so whether kubernetes supports that at the first place if yours then whether the same thing is now extended till cubert or not right like sri so it was there in kubernetes and now cubert also supports sri with some way and uh i want to mention one more thing that uh in this case study you have seen i was doing a lot of steps like cdi operator and word ctl and all that so there is a work going on in parallel which is called opinionated cubert right where hyperconverged operator at co is created which is like operator of operators right which will take care of all these operators okay so you don't need to really worry about setting up four different operators and then your final thing comes up right so that opinionated cubert is one thing you can search for and get more details all right so coming back to is cubert telco ready right so huge base support it is there sri ov support is also there cpu pinning numer support yes and multi interface support using multis it is there live migration uh work in progress kind of thing where it is supported with some condition hot plug hot plug is uh the feature where you uh change your cpu or memory on the fly right so that is not there right now and then another important feature that we are so habitual in virtual machine world right in hypervisor world which is fencing right where if a host like let's say esxi host goes down then your virtual machine uh automatically moves to other available esxi host right so that note failure let's say in this case if my uh virtual machine is running on worker node one right and if worker node one goes down what happens to my virtual machine which is running inside a pod will it automatically go to let's say worker node two and run automatically the way pod runs right in fact expectation is that it should right and that's where the kubernetes benefit comes into picture so it is partially supported now as of today and coming to next feature which is arm 64 support so it is about running it on running cuba don uh that's a raspberry pi kind of devices so that is not supported as of now and the last one is gpu and fpga support so this is also work in progress and i think this will be the feature which will come up very soon maybe in next few weeks or very soon actually so i think it is in final testing phases and also gpu and fpga support will come okay so that shows the cuba readiness from telco perspective okay now we can go to questions so christian yeah yeah thank you so much for a great presentation okay we'll just go ahead and jump into it we have a lot of questions so we'll get to as many as we can here um robson asks why does mec require vnf and cnf please could you provide examples to clarify this point okay so uh see mec is used primarily for two purposes right one is for hosting your applications right but in certain cases one of the form of mec could be that you want to have your private network deployed right and in let's say private 5g deployment there are three or four different deployment architectures in private 5g where you can have all the setup everything running at the customer premise or you can have something running at far edge and that's where the edge coming into picture right so you can have maybe your towers and all set up in customer premise but your the control plane running from far edge not your core data center farage so in those kind of scenarios you will have and and of course that core which is running at far edge to cater to multiple private networks will be like core data center right but it is outside your core data center so somewhere from far edge and in that kind of scenario you will need vnf and cnf to be hosted at far edge hope that answers great our next question is from Sergio and he dropped this in the Q&A and in the chat um what about ACLs and security groups like open stack also multiple interfaces and support so i mean since cubert related things like VMs runs on top of the Kubernetes right so the management part is more or less same as Kubernetes so you can use all those management primitives that you use in Kubernetes in cubert also they are not much different actually okay um arthur asks um might be a silly question and i know you cover this earlier in your slides but could you uh explain again what is a vnf and what is a cnf and what is the difference between the two okay so uh the simple example could be a firewall right f5 uh not f5 sorry any firewall follow although some firewall so that firewall in older days used to be appliance right you get a device right which is kind of black box you don't know what operating system is running there mostly it is some proprietary operating system and and you are running some software of course which is doing this firewall job and there is this box uh which you just plug into your network and you start using it so it is black box and appliance that was called physical network function so network function is any kind of uh i would say uh i think network function itself is a self-explanatory thing it could be router or and in 5g world in service oriented architecture there are so many network functions right so uh so earlier there was physical network function pnf right and then uh telco world decided that it is not good to be uh dependent on appliances right because scalability is not possible there so why not move hardware separately and software separately right so then uh what they did vnf came virtual network function where they is accepted the software out of it okay and that software was then given as let's say ova file in vmware world or some image which you can import in your hypervisor right and you have your file word running let's say pf sense firewall it's a it's a vnf which is open source so now that pf sense firewall is not dependent on any specific appliance right you can run it on your laptop also right so as long as you have uh of course you need to meet the requirement of network because because there is heavy throughput requirement and all but then the hardware dependency is removed then came cnf so cnf and vnf is something that we can easily understand so cnf is uh container native network function right so where instead of using virtual machine based image why not have some Docker images and all right so why not use containers and deploy it inside the Kubernetes or some container orchestration platform so that is cnf so same firewall which was coming as an appliance is called pnf when it started coming as a software image again image not something that you do next next and so not that one but the image okay that is pnf and then the same thing when it comes as a Docker image that is cnf so hope that answers the long answer so awesome no worries um okay this it was from michael he also asked this in the chat in the q&a so we saw you both there michael um are there any slash many examples of cube for it being used in production that you mentioned please oh that's a very good question so right now uh the biggest hurdle i mean i have already shown the cube bird readiness from telco perspective and uh from telco perspective the biggest hurdle is performance right so yeah if you have worked on telco area you will know that uh there is a requirement of faster practice processing right and there so you're already doing nested virtualization right so uh you're running let's say there might be cube on cube kind of scenario also right where Kubernetes itself is running on cubert right so uh in nested virtualization your performance is affected so so in this case i think the biggest hurdle is getting the telco great performance right and that's where the major work is happening how to get the telco great performance and i would like to highlight that in june end there was a nice webinar in cncf on high packet process faster packet processing in cubert i would suggest to look at that and in terms of production deployment i think we are getting there i mean i don't have that information but in telco world we are still not there just because of one region which is performance but i also want to highlight that apart from these faster packet processing kind of cnf sorry vnfs there are some control plane network function right which which really don't require too much of faster processing and all so cubert is good for those kind of scenarios and cubert is good for third party application hosting but for telco great packet processing or like core related thing it'll take maybe a few months or more to be there okay alan asks is container d planned to be supported container d i have no idea i need to check but yeah i can check from cubert and you can also check it from slack channel of cubert right now it works on kubernetes great um bilaji asks um can i install vnf on cubert and orchestrate it with cnf running in a k8 cluster absolutely absolutely in fact uh that is the whole purpose that uh you deploy cnf cnf deployment is straightforward right uh you get the docker image from wherever you can get and just deploy the docker image using your kubernetes way now then you get vnf and vnf deployment can be done using cubert so then your vnf and cnf both will be hosted in same k8 cluster all right randy asks can you run an ova image to instantiate a vm yes ova image based migration is supported here so we can do uh let's say uh one image is running on your hypervisor and there are two three formats that are supported i need to check the documentation i want to i don't want to make generic comment here but uh qco2 image is certainly supported and iso image is supported ova uh can be migrated right so from vmware world we can migrate ova file from so there is a migration process basically that is that is supported okay great um robson asks um in step three the image upload this is a docker image is this a docker image or a regular vm image okay so in image upload i am uh i was using iso image which you can get from windows uh microsoft website the normal iso file but uh so it is not docker image uh and not to be anything it is iso image but iso is not the limitation as i said uh you can have a qco2 image also or you can in fact migrate your vm as is from your source and that image is loaded okay great uh bala asks um how are the network challenge how are the network challenges taking care when running hybrid workload with windows and linux does it use different cni for both workloads no no so in fact uh this multis cni right which is used for multiple interface support and which is one of the requirement in tango world which is same i mean multis cni is uh multis network plugin is used uh so there's no separate plugin for windows or linux in fact most of the things that kubernetes remains kubernetes level remains same it runs on top of kubernetes okay um how is how is defined the number of containers and the hardware resources involved in this vm implementation okay so i think if i understood the question correctly it's about like how do we do the capacity sizing right how do we know what should be the cpu or memory so uh if that is the question then answer is uh you just go with uh your source side setup right so if your source has let's say 8 gb memory and whatever 8 core cpu then you can use 8 gb memory and 8 core cpu here and obviously uh it looks very much higher on higher side uh from container perspective right but that is how these vm runs right they they are more resource intensive all right um panney asks uh do we have a sample performance data on percentage of overhead of vm running in a pod versus running natively as a cnf no no that as far as i remember no i haven't seen okay and we got your question mark in the chat and also in the q&a here it says you mentioned nested virtualization a pod is not virtualization is simply a set of native space gates that constrain visibility of resources combined with c groups which gate resource allocation you have pods and containers linux processes where does nested virtualization come into play are you assuming that the pods are actually hosted by the vm's so nested virtualization comes when you get your vm running inside pod because for running vm you need kvm kind of thing right so cubert also relies on kvm so kvm liberty everything is there those dem and run inside pod right for every single vmi instance you will have your kvm instance also and that requires one nested virtualization parameter to be enabled okay peat move in here so we can get the last to you in and randy asks can you elaborate on the performance issues slash requirements with telco apps okay so one of the performance thing is a faster packet processing right so sriov support or huge base support all these are steps towards getting into that stage where we get telco grade career grade performance right so sriov support also helps in that but since sorry since you are not running it directly the way you are running it in bare metal and all you're running it through i mean you're passing through kubernetes right so that's why it is not it is having those performance issues even even you will you can note that performance issue even when you run a simple windows machine right so when you run the windows machine and you try to operate it you will feel the difference i mean it will not be as your experience will not be as same as what you get it in some other hypervisor world right so and and as as i said in my session that it is okay to run let's say third party application which are still relevant to let's say MEC okay not not vnfs but MEC apps they can be executed right because performance is not the criteria all the time right in all kind of so it's not telco is not all about faster packet processing there are telco applications or MEC application which which do not require faster pocket processing that that part is already done by upf and out so yep all right and we have time for just one more question here um can you resume all the software we need to run the solution beyond the kubernetes cluster is it possible to migrate hyper vvm running to the solution okay so i would say for so two parts to this question what are softwares required so i would say just look into kubernetes documentation or look into github page for opinionated kubernetes where you don't really need to worry about cdi and word ctl and everything because those are already taken care those are already merged and you can do that very easily this installation part and second part the hyper v based migration so i know that very recently it has started supporting migration from vmware world which is not hyper v it is sxi based but hyper v i'm not sure it supports a vmware based hypervisor vm migration okay great well thank you again everyone um pretending this webinar thank you to abhi for the presentation um abhi is there a place that um maybe you want to go back to your slide that has the slack and information for kubernetes just for folks we can display that last year perfect awesome so feel free to connect um offline here with abhi um on kubernetes i'm sure he would love to answer more of your questions and i know there were a lot we tried to get to as many as we could today um a friendly reminder that the uh recording in the slides will be posted later today to the cncf webinars page that cncf.io slash webinars um we hope to see you at a future cncf webinar and thanks again everyone have a great day thank you all thank you missy bye