Kubevirt
What is Kubevirt?
...
In details, KubeVirt technology addresses the needs of development teams that have adopted or want to adopt Kubernetes but possess existing Virtual Machine-based workloads that cannot be easily containerized. So KubeVirt extends Kubernetes by adding additional virtualization resource types (especially the VM/VMI type) through Kubernetes's Custom Resource Definitions API. By using this mechanism, the Kubernetes API can be used to manage these VM resources alongside all other resources Kubernetes provides. The resources themselves in Kubernetes are not enough to launch virtual machines. For this to happen, the functionality and business logic needs to be added to the cluster. Scheduling, networking, and storage are all delegated to Kubernetes, while KubeVirt provides the virtualization functionality. The functionality is not added to Kubernetes itself, but rather added to a Kubernetes cluster by running additional controllers and agents on an existing cluster. And these necessary controllers and agents are all provided by KubeVirt.
...
- The virt-controller and the virt-handler listen on node status through the watch interface provided by api-server
- A new VMI definition similar with a plain pod is posted to the kubelet
- The K8s API Server validates the input and creates a VMI custom resource definition (CRD) object.
- The virt-controller observes the creation of the new VMI object and creates a corresponding pod.
- Kubernetes schedules the pod on a host.
- The virt-controller observes that a pod for the VMI got started and updates the nodeName field in the VMI object.
- The virt-handler (DaemonSet) observes that a VMI got assigned to the host where it is running on.
- The virt-handler is using the VMI Specification and signals the creation of the corresponding domain using a libvirtd instance in the VMI's pod.
- A client deletes the VMI object through the virt-api-server.
- When Kubernetes runtime attempts to shutdown the virt-launcher pod before the VM/VMI has exited, the virt-launcher forwards signals from Kubernetes to the VM/VMI process and attempts to hold off the termination of the pod until the VM/VMI has shutdown successfully.
- The virt-handler observes the deletion and turns off the domain.
QAT
scenario
–Integration with SDN and NFV Solutions
–4G LTE and 5G encryption algorithm offload for mobile gateways and infrastructure.
–VPN traffic acceleration, with up to 50 Gbps crypto throughput and support for IPsec and SSL acceleration.
–Compression/decompression up to 24 Gbps throughput.
–I/O virtualization using PCI-SIG Single-Root I/O Virtualization (SR-IOV).
–Accelerating Hadoop*
-Accelerating OpenSSL
Gaps
continue...