openconfig / kne

Apache License 2.0
216 stars 65 forks source link

Use VM in KNE #356

Closed yennym3 closed 1 year ago

yennym3 commented 1 year ago

Is the capability to support VM in a KNE topology construction possible?

alexmasi commented 1 year ago

If you mean having a node in a kne topo be a VM then that is possible as long as its wrapped in a container. For example Juniper cPTX does this.

yennym3 commented 1 year ago

The idea is to use an image of a VM for example of a Cisco router model IOS XE CSR1000v that I am wrapped to container with the solution of the https://github.com/hellt/vrnetlab project but when deploying the topology with this node, when testing connectivity with this new node converted to container it is not possible.

alexmasi commented 1 year ago

@bormanp for further comment

bormanp commented 1 year ago

It is certainly possible to wrap a VM in a container and use with with KNE as Alex mentioned, however, we strongly discourage this. Wrapping VMs reduces the number of KNE nodes that can be hosted by a single Worker Node. In the past Google had a network emulator that was based on virtual machines to model internal Google networks. This project was eventually canceled do to the cost of the hardware required. KNE with containers is more cost effective. VMs also are slower to bring up as the kernel in the VM must boot before the NOS initialization code can run. Google is strongly encouraging all vendors to produce containerized images that do not use a VM internally. I am not sure what connectivity issues you have as meshnet supports veth's so it should be no problem to use a VM's veth.