Cette page est affichée en anglais. Une traduction française est en cours.
SkillsMay 15, 2026·3 min de lecture

Virtual Kubelet — Run Kubernetes Pods on Serverless and External Backends

Virtual Kubelet implements the Kubernetes kubelet interface as a pluggable provider, allowing pods to be scheduled onto serverless platforms, IoT edge nodes, or any non-traditional compute backend.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Virtual Kubelet Overview
Commande d'installation directe
npx -y tokrepo@latest install 90a1ff65-5058-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

Virtual Kubelet masquerades as a regular Kubernetes node by implementing the kubelet API. Instead of running containers on a real host, it delegates pod execution to an external provider — Azure Container Instances, AWS Fargate, HashiCorp Nomad, or custom backends. This lets clusters burst into serverless capacity or integrate with non-Kubernetes infrastructure.

What Virtual Kubelet Does

  • Registers as a node in the Kubernetes cluster and accepts pod scheduling
  • Delegates pod lifecycle management (create, update, delete) to a pluggable provider
  • Reports pod status, resource capacity, and node conditions back to the API server
  • Enables transparent cluster bursting to serverless platforms for peak workloads
  • Supports custom providers for IoT, edge computing, and batch job backends

Architecture Overview

Virtual Kubelet runs a single Go binary that implements the Kubelet gRPC API. The core library handles node registration, lease renewal, and pod status synchronization with the Kubernetes API server. Provider implementations satisfy a Go interface (CreatePod, GetPod, DeletePod, GetPodStatus) and translate Kubernetes pod specs into the target platform's execution model. Taints and tolerations ensure only intended workloads land on the virtual node.

Self-Hosting & Configuration

  • Build from source or use provider-specific container images (e.g., Azure ACI provider, AWS Fargate provider)
  • Requires a valid kubeconfig with permissions to register nodes and manage pods
  • Configure node taints to prevent accidental scheduling of non-burst workloads
  • Provider-specific settings (cloud credentials, region, resource limits) are passed via environment variables or config files
  • Node capacity is reported to the scheduler by the provider (often set to large values for serverless backends)

Key Features

  • CNCF Sandbox project with a well-defined provider interface for custom backends
  • Transparent to the Kubernetes scheduler: pods are scheduled using standard affinity, tolerations, and resource requests
  • Providers exist for Azure Container Instances, AWS Fargate, Nomad, Alibaba ECI, and more
  • Node-level resource metrics reported back to the cluster for HPA and monitoring integration
  • Mock provider included for development, testing, and CI validation

Comparison with Similar Tools

  • Karpenter — Provisions real nodes on demand; Virtual Kubelet provisions virtual nodes backed by external compute
  • Kubernetes Cluster Autoscaler — Scales node groups; does not integrate non-Kubernetes backends
  • KubeVirt — Runs VMs as pods on real nodes; Virtual Kubelet delegates pods off-cluster
  • KubeEdge — Extends Kubernetes to edge devices with a real agent; Virtual Kubelet abstracts away the agent entirely
  • Admiralty — Multi-cluster scheduling via proxy pods; similar concept but focused on cluster federation

FAQ

Q: Does Virtual Kubelet run actual containers on the host? A: No. It acts as a proxy. The actual execution happens on the external platform defined by the provider.

Q: How do I prevent regular workloads from landing on the virtual node? A: Apply a taint (e.g., virtual-kubelet.io/provider=mock:NoSchedule) and add matching tolerations only to workloads intended for the virtual node.

Q: Can I use Virtual Kubelet with Horizontal Pod Autoscaler? A: Yes. The provider reports pod and node metrics, and HPA scales pod replicas as usual. Pods scheduled on the virtual node burst into the external backend.

Q: Which providers are production-ready? A: The Azure ACI provider is the most mature and widely used. AWS Fargate, Alibaba ECI, and HashiCorp Nomad providers are also available.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires