Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Introducing KubeVirt
1. INTRODUCING KUBEVIRT
KUBERNETES AND CLOUD NATIVE OTTAWA
Stephen Gordon ( @xsgordon / sgordon@redhat.com )
Principal Product Manager, Cloud Platforms @ Red Hat
December 4th, 2018
2. DISCLAIMER
This is active research and development, with a
preview expected in an upcoming OpenShift
release.
There be dragons!
4. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
5. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
6. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict(er) isolation of my application containers.
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
7. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict(er) isolation of my application containers.
=> Katacontainers, gVisor, Isolates, Firecracker
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
8. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict(er) isolation of my application containers.
=> Katacontainers, gVisor, Isolates, Firecracker
● I need to connect services like ACI and Fargate into my Kubernetes cluster.
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
9. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict(er) isolation of my application containers.
=> Katacontainers, gVisor, Isolates, Firecracker
● I need to connect services like ACI and Fargate into my Kubernetes cluster.
=> virtual-kubelet *not actually virtualization
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
10. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict(er) isolation of my application containers.
=> Katacontainers, gVisor, Isolates, Firecracker
● I need to connect services like ACI and Fargate into my Kubernetes cluster.
=> virtual-kubelet *not actually virtualization
● I need a way to run my application containers and virtual machines on a common
platform.
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
11. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, RHV/ oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict(er) isolation of my application containers.
=> Katacontainers, gVisor, Isolates, Firecracker
● I need to connect services like ACI and Fargate into my Kubernetes cluster.
=> virtual-kubelet *not actually virtualization
● I need a way to run my application containers and virtual machines on a common
platform.
=> KubeVirt!
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
12. CONTAINERS AND VIRTUAL MACHINES
CONTAINER INFRASTRUCTURE AND ORCHESTRATION
Containerized applications and Kubernetes container orchestration as provided by
OpenShift are becoming the standard for new applications.
13. CONTAINERS AND VIRTUAL MACHINES
CONTAINER INFRASTRUCTURE AND ORCHESTRATION
Containerized applications and Kubernetes container orchestration as provided by
OpenShift are becoming the standard for new applications.
VIRTUALIZED WORKLOADS
Virtualized workloads are not going anywhere fast!
14. CONTAINERS AND VIRTUAL MACHINES
CONTAINER INFRASTRUCTURE AND ORCHESTRATION
Containerized applications and Kubernetes container orchestration as provided by
OpenShift are becoming the standard for new applications.
VIRTUALIZED WORKLOADS
Virtualized workloads are not going anywhere fast!
BARE-METAL RESURGENCE
Increasingly customers are pursuing bare-metal clusters for net new business
functionality being built in containers.
16. WHAT IS KUBEVIRT
Add virtual machines to your Kubernetes namespace as easily as application containers.
Easily leverage existing VM-based services from your new workloads!
21. Container
TOGETHER AT LAST
Virtual Machine
Operating System
Physical Machine
Container
Resultant virtual machines are able to run side by side directly on the same Kubernetes
nodes as application containers.
Leverages tried and trusted KVM/QEMU virtualization capabilities.
{Pods
Kubernetes
22. LEVERAGE EXISTING ECOSYSTEMS
Use native OpenShift Primed storage solutions or existing ecosystem of 80+ battle tested
drivers via Container Storage Interface (CSI) “Ember” plug-in.
Container
Virtual Machine
Operating System
Physical Machine
Container
Kubernetes
24. KUBEVIRT: THE CNV UPSTREAM
● Integrates directly into existing Kubernetes clusters
● Uses a k8s-native approach whenever possible
● Leverage Container Networking Interface (CNI),
Container Storage Interface (CSI), and other
k8s-native integrations
Operating System
Kubernetes
Physical Machine
VM Pod
Regular
Pod
http://kubevirt.io
29. • Build on Kubernetes, adding new API-level resources.
• Declarative when paired with a controller.
$ kubectl get crds
NAME AGE
datavolumes.cdi.kubevirt.io 5m
virtualmachineinstancepresets.kubevirt.io 5m
virtualmachineinstancereplicasets.kubevirt.io 5m
virtualmachineinstances.kubevirt.io 5m
virtualmachines.kubevirt.io 5m
CUSTOM RESOURCE DEFINITIONS
30. COMPONENTS OF CNV
- KubeVirt
The virtual machine operator
https://github.com/kubevirt/kubevirt/
- Containerized Data Importer (CDI)
Importing disks
https://github.com/kubevirt/containerized-d
ata-importer
- OpenShift Web Console
With UI extensions
https://github.com/kubevirt/web-ui
- Containerized Virt-v2v
Importing a whole virtual machine
https://github.com/kubevirt/v2v-job
34. ● We inspected the custom resource definitions
● We imported an image using oc/kubectl
● We created and started a basic VM using oc/kubectl
● We made a change to that VM’s disk
● We cloned the disk and created a new VM
● We checked how the UI looks!
DEMO RECAP
35. ROADMAP THEMES
Production Workloads Embrace the PlatformSupportability
(What’s missing today?)
KubeVirt is not a drop-in replacement for traditional virtualization today.
We’re working on it!
● Simplify upgrade process
● Debug tooling support
(sosreports, Insights)
● Broad provider support
● Layer-2 Networking
● Live Migration
● Upload image as Template
● Guest agent introspection
● Operators for all!
● Integrated VM management
● Metrics and monitoring
36. COLLABORATING?
Upstream Community:
● Website: KubeVirt.io
● GitHub: https://github.com/kubevirt/
● Mailing List: https://groups.google.com/forum/#!forum/kubevirt-dev
● IRC: #kubevirt on irc.freenode.net
Red Hat:
● We are currently seeking design partners and early adopters willing to:
○ Try out Container-native Virtualization!
○ Give us feedback!
● FAQ
○ https://www.redhat.com/en/resources/container-native-virtualization