Running networking labs over Kubernetes with Antidote

I’ve just come across Antidote a recent project that intends at running networking-oriented labs over Kubernetes. It is developped by members of the Network Reliability Engineering community (Juniper-related, AFAIU), to power the NRE Labs platform.

It looks very similar to other platforms that allow you to run labs remotely in consoles opened on cloud machines, alongside lab instructions.

I find it interesting as the code is published under FLOSS license (Apache), and seems to be runable over any Kubernetes installation: you can test it with Minikube through the selfmedicate repo.

Antidote demo running virtual labs in Kubernetes with selfmedicate/minikube, running locally from Olivier Berger on Vimeo.

Internally, it uses Guacamole to provide the Web consoles connected via SSH to the hosts (or emulated devices) running on the k8s cluster. Each learner will get her own k8s namespace running the corresponding PODs.

In principle, it’s rather easy to package any app that can be used from the CLI to run it over Antidote.

The main drawback I’ve found so far, wrt our experiments with virtual labs, is the limitation to SSH access for a CLI: the Guacamole setup doesn’t provide access to VNC, AFAICS (yet).

Quite interesting and promising project anyway.

Demo of displaying labtainers labs in a Web browser through Guacamole

Here’s a first report on trying to add Guacamole to Labtainers in order to allow running Labtainers in a headless way, without an X display, in containers, and accessing the GUI in a Web browser, through the use of VNC and Guacamole.

We’ve casted a demo of it :

Labtainer + Guacamole demo on Vimeo.

Continue reading “Demo of displaying labtainers labs in a Web browser through Guacamole”

First tests of virtual labs for a Network-related MOOC in the frame of project FLIRT

We’ve been working, in project FLIRT, together with our partner ProCAN and with the help of the FUN MOOC team, on integrating a virtual desktops solution for MOOC labs. The idea is that instead of downloading a VM image to perform labs in a VirtualBox VM locally, participants of the MOOC can execute the lab in a Cloud VM, in a “Desktop as a Service” environment, accessing that Desktop through a full-screen display in their Web browser. Thus, no installation is needed on the participant’s machine.

ProCAN has been busy improving their CloVER platform to provide such a feature, which is being tested for a few weeks with (paying) participants of an IMT MOOC on principles of networking, hosted on the FUN MOOC platform.

The participants interested in a “value added” variant fo the MOOC will pay for obtaining a certificate, and having access to this “Desktop as a Service” lab environment. Free participants will have to install a VM image in a more traditional way.

So far it seems the solution works as expected (with a relatively low number of users for this first experiment). It uses the “basic” CloVER plan, wich manages IaaS VMs (hosted on an OpenStack cloud). There have been a few useability issues, which are being solved (copy/paste, shared files, which required some tuning of the Guacamole integration, under the hood).

CloVER acts as a broker between OpenEdX and OpenStack, by managing the making and deployment of VMs (for professors and MOOC participants) and so as to allow teaching assistants to support the execution of the labs if need be.

We plan to experiment with a container-based variant with the upcoming “pro” plan of the CloVER platform in the coming months (for other MOOCs or SPOCs). That new version should also bring new features for an educational context, like collaborative use of the virtual environments. But the main benefit will probably be the improved start speed for deploying a new desktop for a participant, and an improved life-cycle for the execution of the virtualized labs. At the moment, the current IaaS based variant relies in always-on VMs per participant, for the whole duration the the labs, even though the machine is used in a sparse way. With containers, we can make sure to activate the DaaS only when the user actually works on the lab, provided that we can save the user’s session in a persistant storage, of course. That’s for the current R&D efforts at ProCAN.

In the making of this integration, we should thank the FUN MOOC team, for the useful collaboration, in making sure it’s easier to integrate external services with the OpenEdX platform operated by FUN MOOC. We’ve worked together on improving the use of a generic XBlock connector, using LTI to better integrate CloVER and OpenEdX. This should be helpful for other MOOCs hosted by FUN MOOC in the future.

The future FLIRT MOOCs should be able to test the evolutions of the CloVER DaaS solution, but this will require also some work on the educators side, to make sure we master the technology used to create containers, integrate them in a learning process, etc.