# virtual-kubelet/virtual-kubelet

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/virtual-kubelet-virtual-kubelet).**

4,531 stars · 664 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/virtual-kubelet/virtual-kubelet
- Homepage: https://virtual-kubelet.io
- awesome-repositories: https://awesome-repositories.com/repository/virtual-kubelet-virtual-kubelet.md

## Topics

`cncf` `kubernetes`

## Description

Virtual Kubelet is a custom kubelet implementation that allows a Kubernetes control plane to treat serverless platforms and external compute APIs as standard cluster nodes. It functions as an external compute orchestrator, translating standard orchestration commands into the specific API calls required to run containers on non-native infrastructure.

The project provides a pluggable virtual node provider interface, enabling developers to implement custom node providers that map pod lifecycle events to specific external backends. This allows for the emulation of standard node behavior, which enables the cluster controller to schedule workloads on third-party platforms.

The system covers external compute orchestration, hybrid cloud resource scheduling, and cluster capacity expansion. It includes capabilities for pod lifecycle tracking, administrative request routing for logs and execution, and the collection and export of node telemetry and pod metrics to support native horizontal autoscaling.

Deployment is supported via package managers using pre-defined configuration bundles.

## Tags

### DevOps & Infrastructure

- [External Compute Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/external-compute-orchestrators.md) — Translates standard Kubernetes orchestration commands into actions on serverless platforms or external compute APIs.
- [Virtual Node Providers](https://awesome-repositories.com/f/devops-infrastructure/virtual-node-providers.md) — Provides a pluggable interface to define how the Kubernetes control plane manages and schedules workloads on external cloud backends.
- [Compute Lifecycle Mapping](https://awesome-repositories.com/f/devops-infrastructure/compute-lifecycle-mapping.md) — Translates pod and container lifecycle operations into external API calls to manage compute without virtual machine infrastructure. ([source](https://virtual-kubelet.io/docs/providers/))
- [Compute Node Emulation](https://awesome-repositories.com/f/devops-infrastructure/compute-node-emulation.md) — Simulates standard compute node behavior to enable the cluster controller to schedule workloads on external infrastructure.
- [Pod Lifecycle Event Mapping](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/container-lifecycle-management/lifecycle-event-detection/evented-pod-lifecycle-detections/pod-lifecycle-event-mapping.md) — Allows developers to define the logic required to translate cluster pod events into actions on specific external compute platforms. ([source](https://virtual-kubelet.io/docs))
- [Custom Kubelet Implementations](https://awesome-repositories.com/f/devops-infrastructure/custom-kubelet-implementations.md) — Provides a custom implementation of the kubelet that allows Kubernetes to treat external services or serverless platforms as cluster nodes.
- [External Compute Orchestration](https://awesome-repositories.com/f/devops-infrastructure/external-compute-orchestration.md) — Manages containers on non-native infrastructure by translating Kubernetes pod lifecycles into external API calls.
- [External Compute Scheduling](https://awesome-repositories.com/f/devops-infrastructure/external-compute-scheduling.md) — Schedules containers on external APIs or serverless platforms by emulating a standard node to the cluster controller. ([source](https://virtual-kubelet.io/docs/architecture/))
- [External Node Integration](https://awesome-repositories.com/f/devops-infrastructure/external-node-integration.md) — Connects external services or serverless platforms to a Kubernetes cluster so they function as standard compute nodes. ([source](https://virtual-kubelet.io/docs))
- [External Resource Orchestration](https://awesome-repositories.com/f/devops-infrastructure/external-resource-orchestration.md) — Represents serverless platforms as standard nodes to run and manage containers on non-native infrastructure. ([source](https://cdn.jsdelivr.net/gh/virtual-kubelet/virtual-kubelet@main/README.md))
- [Kubernetes Node Emulation](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-node-emulation.md) — Simulates standard node behavior to allow the control plane to manage resources on third party platforms.
- [Orchestration API Bridges](https://awesome-repositories.com/f/devops-infrastructure/orchestration-api-bridges.md) — Maps Kubernetes container orchestration commands to the proprietary API calls of serverless or external cloud platforms.
- [Provider Plugin Architectures](https://awesome-repositories.com/f/devops-infrastructure/provider-plugin-architectures.md) — Provides a pluggable interface to decouple Kubernetes pod lifecycle events from service-specific external compute APIs.
- [Serverless Kubernetes Integrations](https://awesome-repositories.com/f/devops-infrastructure/serverless-kubernetes-integrations.md) — Maps Kubernetes pod lifecycles to external API calls for running containers on non-native compute infrastructure.
- [Administrative Request Proxies](https://awesome-repositories.com/f/devops-infrastructure/administrative-request-proxies.md) — Proxies administrative requests for logs and execution from the Kubernetes control plane directly to external service providers.
- [Administrative Request Routing](https://awesome-repositories.com/f/devops-infrastructure/administrative-request-routing.md) — Forwards API server requests for logs, interactive execution, and metrics directly from an external compute provider. ([source](https://cdn.jsdelivr.net/gh/virtual-kubelet/virtual-kubelet@main/README.md))
- [Cluster Expansion](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/cluster-expansion.md) — Adds virtual nodes to a cluster to handle burst traffic using external compute without managing VM infrastructure.
- [Pod Lifecycle Management](https://awesome-repositories.com/f/devops-infrastructure/edge-infrastructure-management/pod-lifecycle-management.md) — Manages the creation, updating, and deletion of pods while monitoring their status on an external provider. ([source](https://cdn.jsdelivr.net/gh/virtual-kubelet/virtual-kubelet@main/README.md))
- [Hybrid Cloud Kubernetes Management](https://awesome-repositories.com/f/devops-infrastructure/hybrid-cloud-kubernetes-management.md) — Schedules workloads across a mix of traditional virtual machines and external cloud provider services.
- [Node Capacity Reporting](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/security-scanning/control-plane-auditing/node-condition-reporters/node-capacity-reporting.md) — Sends node capacity, addresses, and operating system details to the controller to enable accurate scheduling. ([source](https://cdn.jsdelivr.net/gh/virtual-kubelet/virtual-kubelet@main/README.md))

### Software Engineering & Architecture

- [Infrastructure Provider Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/modular-provider-interfaces/media-provider-interfaces/dns-provider-interfaces/infrastructure-provider-interfaces.md) — Provides a standardized interface for abstracting and interacting with external cloud and serverless compute APIs. ([source](https://cdn.jsdelivr.net/gh/virtual-kubelet/virtual-kubelet@main/README.md))

### Security & Cryptography

- [Pod Lifecycle State Tracking](https://awesome-repositories.com/f/security-cryptography/account-lifecycle-management/lifecycle-state-machines/vm-lifecycle-state-tracking/pod-lifecycle-state-tracking.md) — Tracks the status of pods on external platforms and synchronizes that state back to the cluster control plane.

### System Administration & Monitoring

- [Per-Node Pod Metric Collectors](https://awesome-repositories.com/f/system-administration-monitoring/metric-collection/kubernetes-node-metrics/per-node-pod-metric-collectors.md) — Gathers pod-level statistics from virtual nodes to support horizontal autoscaling. ([source](https://cdn.jsdelivr.net/gh/virtual-kubelet/virtual-kubelet@main/README.md))
- [Pod Metric Exporters](https://awesome-repositories.com/f/system-administration-monitoring/metric-collection/kubernetes-node-metrics/pod-metric-exporters.md) — Sends resource statistics for pods to the control plane through a dedicated metrics interface. ([source](https://virtual-kubelet.io/docs/providers/))
- [Virtual Resource Capacity Reporting](https://awesome-repositories.com/f/system-administration-monitoring/virtual-resource-capacity-reporting.md) — Reports virtual resource capacity and pod metrics to the scheduler to enable native horizontal autoscaling and placement.
