BlogsCloudflareKubernetes Virtualization with KubeVirt

Kubernetes Virtualization with KubeVirt

Kubernetes Virtualization with KubeVirt

2
posts
2021–2024

Cloudflare is leveraging KubeVirt to run virtual machines alongside containerized workloads within its multi-tenant Kubernetes clusters. This enables teams requiring deep integration with the Linux kernel, such as for build infrastructure and network simulation, to do so securely and efficiently. KubeVirt integrates with Kubernetes primitives and CRDs, allowing for scalable VM deployment and management. Use cases include Kubernetes scalability testing, development environments, kernel and iPXE testing. This post details the development of Sciuro, an open-source replacement for Node Problem Detector, which synchronizes Kubernetes node conditions with firing alerts in Alertmanager, enabling automated remediation of issues like excessive CNI network interfaces on self-managed bare-metal Kubernetes nodes.

2024

Leveraging Kubernetes virtual machines at Cloudflare with KubeVirt

10/8/2024

This post details Cloudflare's adoption of KubeVirt to run virtual machines within its multi-tenant Kubernetes clusters. It explains the need for virtualization to allow workloads tight integration with the Linux kernel without compromising multi-tenancy security. The post outlines the setup process for virtualized Kubernetes clusters using Ansible and kubeadm, and demonstrates how KubeVirt is used for scalability testing by simulating large cluster failures and for development environments. It also highlights upstream contributions to Kubernetes for controller-manager performance improvements.

2021

Automatic Remediation of Kubernetes Nodes

7/15/2021

This post details the development and implementation of Sciuro, an open-source tool designed to automate the remediation of unhealthy Kubernetes nodes in a self-managed bare-metal environment. Sciuro synchronizes Kubernetes node conditions with alerts from Alertmanager, enabling automated actions like node reboots for issues such as excessive CNI network interfaces. The post also discusses the limitations of existing solutions like Node Problem Detector and the rationale behind building a custom solution.