Kata configured in CRIO+K8S, utilizing both QEMU and Firecracker

by egernst
GNU/Linux ◆ xterm-256color ◆ bash 12855 views

Using Kata 1.5.0-rc2, CRIO 1.13 and K8S 1.13 and latest cloud-native packages available in Clear Linux distro, I put together a quick demonstration showing how you can use the same Kata install to configure two runtimeClasses - one for QEMU and one for Firecracker. This way you can pick the right isolation on a per workload basis.

The configuration of the cluster, including registering handlers with CRI-O, and removing runtimeClass feature gate, was handled via a handy vagrant install, though the scripts could be used by anyone. Check this out at clearlinux/cloud-native-setup - see [1]

The video demonstrates setting up the cluster, and then how to patch a simple workload to make use of these runtime classes. You’ll see, you can use Kata Containers project to provide isolation using both Firecracker and QEMU in your cluster.

I used demo-magic, and wish I had found their repo in the past, [2]. You can checkout the .sh I used at [3], as well as all of the other .yaml I applied in the demo. Checkout kata @ [4]!

[1] - https://github.com/clearlinux/cloud-native-setup/tree/master/clr-k8s-examples

[2] - https://github.com/paxtonhare/demo-magic

[3] - https://github.com/egernst/k8s-testing-scripts/tree/master/kata-fc-qemu-k8s-demo

[4] - katacontainers.io