November 2018 presentation covering Container-native virtualization, enabling OpenShift/Kubernetes as a common platform for application containers and virtual machines.
ICT role in 21st century education and its challenges
Toronto RHUG: Container-native virtualization
1. CONTAINER-NATIVE VIRTUALIZATION
TORONTO RED HAT USER GROUP
Stephen Gordon ( @xsgordon / sgordon@redhat.com )
Principal Product Manager, Cloud Platforms @ Red Hat
November 20th, 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, 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, oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict 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, oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict isolation of my application containers.
=> Katacontainers, gVisor
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
8. THE STORY SO FAR...
● I need a place to install, run, and manage my Kubernetes clusters.
=> OpenStack, oVirt, VMware, AWS, GCE, Azure, etc.
● I need a way to provide strict isolation of my application containers.
=> Katacontainers, gVisor
● We are not going to focus on these today! (sorry!)
...FOR VIRTUALIZATION IN A CONTAINERIZED WORLD
9. 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.
10. 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!
11. 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.
13. WHAT IS CONTAINER-NATIVE VIRTUALIZATION?
Add virtual machines to your OpenShift projects as easily as application containers.
Easily leverage existing VM-based services from your new workloads!
19. Container
TOGETHER AT LAST
Virtual Machine
ENTERPRISE CONTAINER HOST
Physical Machine
Container
Resultant virtual machines are able to run side by side directly on the same OpenShift nodes
as application containers.
{Pods
20. 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
ENTERPRISE CONTAINER HOST
Physical Machine
Container
22. 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
27. • 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
28. 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
33. ● 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
34. ROADMAP THEMES
Production Workloads Embrace the PlatformSupportability
(What’s missing today?)
Container-native Virtualization is not a drop-in replacement for traditional virtualization today.
● 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
35. COLLABORATING?
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
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