SlideShare a Scribd company logo
Introduction to
Virtual Kubelet
Ria Bhatia, Program Manager, Microsoft
Anubhav Mishra, Developer Advocate, HashiCorp
Ria Bhatia
Program Manager, Microsoft
@rbitia
Maintainer of Virtual Kubelet Core
Anubhav Mishra
Team Lead, Developer Advocacy, HashiCorp
@anubhavm
- Kubernetes Community
- Provider Maintainer, Virtual Kubelet
- Helm, Secret CSI Driver
Introduction to Virtual Kubelet
Virtual Kubelet
• Open Sourced by Microsoft in 2017
• Extend the Kubernetes API to serverless container
platforms like ACI, Fargate, Google Containers.
Introduction to Virtual Kubelet
A Long Time Ago…..
Announcing v1.0!
Kubernetes Architecture
In two slides…..
10
11
12
Anatomy of a Node
• Kubernetes is fundamentally a node-based scheduling system
• A node comes with a number of conventions and constraints
• Pods are run in the same address space
• Pods are executed using low-level operating system primitives (cgroups /
namespaces)
• Pods share node resources - kernel, ephemeral disk, container images
• Pods inherit certain aspects of node configuration
• Node is a static size
• Privileged containers expect to interact directly with node resources
• A node is a single fault domain - affinity consideration
Anatomy of a Node: Node Agent
Introduction to Virtual Kubelet
• VK treats the concept of pods and nodes in the abstract
• A node is a bounded amount of resource
• A pod is a set of containers running within a sandbox
• The specifics of how these are manifested is contained within a
pluggable Provider
• Common code in VK is relatively small
• Registers with the API server as a client
• Polls for state changes in Objects
• Reports back state of "node" and "pods"
• Handles synchronous interaction with containers
• VK can itself be deployed as a Pod
Why Virtual Kubelet?
• Flexibility of abstraction
• Flexibility of resource consumption
• Greater granularity – pay for pods, not nodes
• Hybrid use-case - traditional cluster with a VK node for bursting
/ batch / on-demand pricing
• Single cluster high availability - a VK in each availability zone
• IOT edge connector - a VK schedules to a set of IOT devices
• Alternate Kubelet – VK as a node agent in a different kind of
node
17
Provider Interface
EDITOR
// Provider contains the methods required to implement a Virtual Kubelet provider
type Provider interface {
// Takes a Kubernetes Pod and deploys it within the provider
CreatePod(ctx context.Context, pod *v1.Pod) error
// Takes a Kubernetes Pod and updates it within the provider
UpdatePod(ctx context.Context, pod *v1.Pod) error
// Takes a Kubernetes Pod and deletes it from the provider
DeletePod(ctx context.Context, pod *v1.Pod) error
// Retrieves a pod by name from the provider (can be cached)
GetPod(ctx context.Context, namespace, name string) (*v1.Pod, error)
// Retrieves the logs of a container by name from the provider
GetContainerLogs(ctx context.Context, namespace, podName, containerName string,
tail int) (string, error)
.....
Provider Definition
• Provide the back-end plumbing necessary to support the
lifecycle management of pods, containers and supporting
resources in the context of Kubernetes.
• Conform to the current API provided by Virtual Kubelet.
• Not have access to the Kubernetes API Server and has a well-
defined callback mechanism for getting data like secrets or
configmaps.
Extend Kubernetes workloads to any service you like!
20
Providers in Virtual Kubelet
IoT Edge with Virtual Kubelet
Virtual Node architecture in AKS
Kubernetes
control pane
Application
architect
Infrastructure
architect
Azure Container Instances
(ACI)
Virtualnode
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
VM VM
VM VM
Deployment/
tasks
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
Pod Pod Pod Pod Pod
WasteWaste
WasteWaste
Tolerance to Pod Spec
Affinities to Burst Out to ACI
Demo – AKS and ACI
Introduction to Virtual Kubelet
Another demo.
Extend Kubernetes to Nomad
Kubernetes
control pane
Application
architect
Infrastructure
architect
HashiCorp Nomad API
VirtualnodePod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
Pod
Pod Pod
VM VM
VM VM
Deployment/
tasks
WasteWaste
WasteWaste
Nomad Servers
Nomad
Client
Nomad
Client
Nomad
Client
Nomad
Client
Nomad
Client
Nomad Job
Task
Task
Task Group
Demo – Nomad
Thanks!
Questions?
Deep Dive: Virtual Kubelet
by Jeremy Rickard, Microsoft & Lei Zhang, Alibaba
Cloud
Wednesday, May 22 • 14:00 - 14:35
Hall 8.0 E1

More Related Content

What's hot (20)

PDF
Kubernetes - A Comprehensive Overview
Bob Killen
 
PPTX
OVN - Basics and deep dive
Trinath Somanchi
 
PDF
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
PDF
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
 
PDF
Introduction to Docker Compose
Ajeet Singh Raina
 
PDF
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Vietnam Open Infrastructure User Group
 
PDF
Gitops: the kubernetes way
sparkfabrik
 
PPTX
Kubernetes Workshop
loodse
 
PPTX
Kubernetes
Henry He
 
PPTX
Kubernetes Basics
Antonin Stoklasek
 
PDF
Kubernetes Deployment Strategies
Abdennour TM
 
PPTX
Kubernetes Introduction
Eric Gustafson
 
PDF
cilium-public.pdf
Sanjeev Rampal
 
PDF
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Thomas Graf
 
PDF
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Edureka!
 
PDF
Improve Monitoring and Observability for Kubernetes with OSS tools
Nilesh Gule
 
PDF
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Vietnam Open Infrastructure User Group
 
PPTX
DevOps with Kubernetes
EastBanc Tachnologies
 
PDF
Monitoring Kubernetes with Prometheus
Grafana Labs
 
PDF
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm
 
Kubernetes - A Comprehensive Overview
Bob Killen
 
OVN - Basics and deep dive
Trinath Somanchi
 
Hands-On Introduction to Kubernetes at LISA17
Ryan Jarvinen
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
 
Introduction to Docker Compose
Ajeet Singh Raina
 
Room 2 - 6 - Đinh Tuấn Phong - Migrate opensource database to Kubernetes easi...
Vietnam Open Infrastructure User Group
 
Gitops: the kubernetes way
sparkfabrik
 
Kubernetes Workshop
loodse
 
Kubernetes
Henry He
 
Kubernetes Basics
Antonin Stoklasek
 
Kubernetes Deployment Strategies
Abdennour TM
 
Kubernetes Introduction
Eric Gustafson
 
cilium-public.pdf
Sanjeev Rampal
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Thomas Graf
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Edureka!
 
Improve Monitoring and Observability for Kubernetes with OSS tools
Nilesh Gule
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Vietnam Open Infrastructure User Group
 
DevOps with Kubernetes
EastBanc Tachnologies
 
Monitoring Kubernetes with Prometheus
Grafana Labs
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm
 

Similar to Introduction to Virtual Kubelet (20)

PPTX
Nodeless and serverless kubernetes
Nills Franssens
 
PPTX
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
PDF
Kubernetes-Meetup
Vaibhav Kohli
 
PPTX
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Brad Topol
 
PDF
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Bitnami
 
PPTX
Containers and Kubernetes -Notes Leo
Léopold Gault
 
PDF
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
PPTX
An Introduction to Kubernetes and Continuous Delivery Fundamentals
All Things Open
 
PDF
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
PPTX
Kubernetes fundamentals
Victor Morales
 
PDF
Introduction to Kubernetes Workshop
Bob Killen
 
PPTX
Container Orchestration using kubernetes
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
PPTX
KuberNETes - meetup
Nathan Ness
 
PDF
Kubernetes automation in production
Paul Bakker
 
PPTX
Multi-Cloud Orchestration for Kubernetes with Cloudify - Webinar Presentation
Cloudify Community
 
PDF
Multi-Cloud Orchestration for Kubernetes with Cloudify
Cloudify Community
 
PPTX
Kubernetes Overview 101.pptxKubernetes Overview 101.pptx
pumipatlalun
 
PPTX
Introducing Kubernetes
VikRam S
 
PPTX
Kubernetes Introduction
Martin Danielsson
 
PPTX
Kubernetes Intro @HaufeDev
Haufe-Lexware GmbH & Co KG
 
Nodeless and serverless kubernetes
Nills Franssens
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
Kubernetes-Meetup
Vaibhav Kohli
 
Kube Overview and Kube Conformance Certification OpenSource101 Raleigh
Brad Topol
 
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Bitnami
 
Containers and Kubernetes -Notes Leo
Léopold Gault
 
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
An Introduction to Kubernetes and Continuous Delivery Fundamentals
All Things Open
 
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Kubernetes fundamentals
Victor Morales
 
Introduction to Kubernetes Workshop
Bob Killen
 
Container Orchestration using kubernetes
Puneet Kumar Bhatia (MBA, ITIL V3 Certified)
 
KuberNETes - meetup
Nathan Ness
 
Kubernetes automation in production
Paul Bakker
 
Multi-Cloud Orchestration for Kubernetes with Cloudify - Webinar Presentation
Cloudify Community
 
Multi-Cloud Orchestration for Kubernetes with Cloudify
Cloudify Community
 
Kubernetes Overview 101.pptxKubernetes Overview 101.pptx
pumipatlalun
 
Introducing Kubernetes
VikRam S
 
Kubernetes Introduction
Martin Danielsson
 
Kubernetes Intro @HaufeDev
Haufe-Lexware GmbH & Co KG
 
Ad

More from Mitchell Pronschinske (20)

PDF
Getting Started with Kubernetes and Consul
Mitchell Pronschinske
 
PDF
Multi-Cloud with Nomad and Consul Connect
Mitchell Pronschinske
 
PDF
Code quality for Terraform
Mitchell Pronschinske
 
PDF
Dynamic Azure Credentials for Applications and CI/CD Pipelines
Mitchell Pronschinske
 
PPTX
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Mitchell Pronschinske
 
PPTX
Empowering developers and operators through Gitlab and HashiCorp
Mitchell Pronschinske
 
PPTX
Automate and simplify multi cloud complexity with f5 and hashi corp
Mitchell Pronschinske
 
PDF
Vault 1.5 Overview
Mitchell Pronschinske
 
PPTX
Using new sentinel features in terraform cloud
Mitchell Pronschinske
 
PDF
Military Edge Computing with Vault and Consul
Mitchell Pronschinske
 
PDF
Unlocking the Cloud operating model with GitHub Actions
Mitchell Pronschinske
 
PDF
Vault 1.4 integrated storage overview
Mitchell Pronschinske
 
PDF
Unlocking the Cloud Operating Model
Mitchell Pronschinske
 
PPTX
Cisco ACI with HashiCorp Terraform (APAC)
Mitchell Pronschinske
 
PPTX
Governance for Multiple Teams Sharing a Nomad Cluster
Mitchell Pronschinske
 
PDF
Integrating Terraform and Consul
Mitchell Pronschinske
 
PPTX
Unlocking the Cloud Operating Model: Deployment
Mitchell Pronschinske
 
PPTX
Keeping a Secret with HashiCorp Vault
Mitchell Pronschinske
 
PPTX
Modern Scheduling for Modern Applications with Nomad
Mitchell Pronschinske
 
PPTX
Moving to a Microservice World: Leveraging Consul on Azure
Mitchell Pronschinske
 
Getting Started with Kubernetes and Consul
Mitchell Pronschinske
 
Multi-Cloud with Nomad and Consul Connect
Mitchell Pronschinske
 
Code quality for Terraform
Mitchell Pronschinske
 
Dynamic Azure Credentials for Applications and CI/CD Pipelines
Mitchell Pronschinske
 
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Mitchell Pronschinske
 
Empowering developers and operators through Gitlab and HashiCorp
Mitchell Pronschinske
 
Automate and simplify multi cloud complexity with f5 and hashi corp
Mitchell Pronschinske
 
Vault 1.5 Overview
Mitchell Pronschinske
 
Using new sentinel features in terraform cloud
Mitchell Pronschinske
 
Military Edge Computing with Vault and Consul
Mitchell Pronschinske
 
Unlocking the Cloud operating model with GitHub Actions
Mitchell Pronschinske
 
Vault 1.4 integrated storage overview
Mitchell Pronschinske
 
Unlocking the Cloud Operating Model
Mitchell Pronschinske
 
Cisco ACI with HashiCorp Terraform (APAC)
Mitchell Pronschinske
 
Governance for Multiple Teams Sharing a Nomad Cluster
Mitchell Pronschinske
 
Integrating Terraform and Consul
Mitchell Pronschinske
 
Unlocking the Cloud Operating Model: Deployment
Mitchell Pronschinske
 
Keeping a Secret with HashiCorp Vault
Mitchell Pronschinske
 
Modern Scheduling for Modern Applications with Nomad
Mitchell Pronschinske
 
Moving to a Microservice World: Leveraging Consul on Azure
Mitchell Pronschinske
 
Ad

Recently uploaded (20)

PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
Simplify React app login with asgardeo-sdk
vaibhav289687
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Simplify React app login with asgardeo-sdk
vaibhav289687
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 

Introduction to Virtual Kubelet

  • 1. Introduction to Virtual Kubelet Ria Bhatia, Program Manager, Microsoft Anubhav Mishra, Developer Advocate, HashiCorp
  • 2. Ria Bhatia Program Manager, Microsoft @rbitia Maintainer of Virtual Kubelet Core
  • 3. Anubhav Mishra Team Lead, Developer Advocacy, HashiCorp @anubhavm - Kubernetes Community - Provider Maintainer, Virtual Kubelet - Helm, Secret CSI Driver
  • 5. Virtual Kubelet • Open Sourced by Microsoft in 2017 • Extend the Kubernetes API to serverless container platforms like ACI, Fargate, Google Containers.
  • 7. A Long Time Ago…..
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. Anatomy of a Node • Kubernetes is fundamentally a node-based scheduling system • A node comes with a number of conventions and constraints • Pods are run in the same address space • Pods are executed using low-level operating system primitives (cgroups / namespaces) • Pods share node resources - kernel, ephemeral disk, container images • Pods inherit certain aspects of node configuration • Node is a static size • Privileged containers expect to interact directly with node resources • A node is a single fault domain - affinity consideration
  • 14. Anatomy of a Node: Node Agent
  • 15. Introduction to Virtual Kubelet • VK treats the concept of pods and nodes in the abstract • A node is a bounded amount of resource • A pod is a set of containers running within a sandbox • The specifics of how these are manifested is contained within a pluggable Provider • Common code in VK is relatively small • Registers with the API server as a client • Polls for state changes in Objects • Reports back state of "node" and "pods" • Handles synchronous interaction with containers • VK can itself be deployed as a Pod
  • 16. Why Virtual Kubelet? • Flexibility of abstraction • Flexibility of resource consumption • Greater granularity – pay for pods, not nodes • Hybrid use-case - traditional cluster with a VK node for bursting / batch / on-demand pricing • Single cluster high availability - a VK in each availability zone • IOT edge connector - a VK schedules to a set of IOT devices • Alternate Kubelet – VK as a node agent in a different kind of node
  • 17. 17
  • 18. Provider Interface EDITOR // Provider contains the methods required to implement a Virtual Kubelet provider type Provider interface { // Takes a Kubernetes Pod and deploys it within the provider CreatePod(ctx context.Context, pod *v1.Pod) error // Takes a Kubernetes Pod and updates it within the provider UpdatePod(ctx context.Context, pod *v1.Pod) error // Takes a Kubernetes Pod and deletes it from the provider DeletePod(ctx context.Context, pod *v1.Pod) error // Retrieves a pod by name from the provider (can be cached) GetPod(ctx context.Context, namespace, name string) (*v1.Pod, error) // Retrieves the logs of a container by name from the provider GetContainerLogs(ctx context.Context, namespace, podName, containerName string, tail int) (string, error) .....
  • 19. Provider Definition • Provide the back-end plumbing necessary to support the lifecycle management of pods, containers and supporting resources in the context of Kubernetes. • Conform to the current API provided by Virtual Kubelet. • Not have access to the Kubernetes API Server and has a well- defined callback mechanism for getting data like secrets or configmaps.
  • 20. Extend Kubernetes workloads to any service you like! 20
  • 22. IoT Edge with Virtual Kubelet
  • 23. Virtual Node architecture in AKS Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) Virtualnode Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod WasteWaste WasteWaste
  • 25. Affinities to Burst Out to ACI
  • 26. Demo – AKS and ACI
  • 29. Extend Kubernetes to Nomad Kubernetes control pane Application architect Infrastructure architect HashiCorp Nomad API VirtualnodePod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks WasteWaste WasteWaste Nomad Servers Nomad Client Nomad Client Nomad Client Nomad Client Nomad Client Nomad Job Task Task Task Group
  • 31. Thanks! Questions? Deep Dive: Virtual Kubelet by Jeremy Rickard, Microsoft & Lei Zhang, Alibaba Cloud Wednesday, May 22 • 14:00 - 14:35 Hall 8.0 E1