Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
INTRODUCING CONTAINER-NATIVE
VIRTUALIZATION
Cats and Dogs Living Together
Stephen Gordon
Principal Product Manager
Red Hat...
FIRST A LITTLE HISTORY
Virtual Machines
FIRST A LITTLE HISTORY
Virtual Machines Containers
VIRTUAL MACHINES AND CONTAINERS
VIRTUAL MACHINES CONTAINERS
VM virtualizes the hardware Container virtualizes isolates the...
VIRTUAL MACHINES AND CONTAINERS
Each of these attributes can be a positive or a
negative for a given workload.
Increasingl...
EXISTING SYSTEMS TREAT THESE SEPARATELY
RHEL
Physical Machine
Virtual Machine
RHEL
Physical Machine
Virtual Machine
Contai...
WHAT ABOUT EXISTING WORKLOADS?
CONTAINER INFRASTRUCTURE AND ORCHESTRATION
Container Application and Kubernetes orchestrati...
WHAT ABOUT EXISTING WORKLOADS?
CONTAINER INFRASTRUCTURE AND ORCHESTRATION
Container Application and Kubernetes orchestrati...
WHAT ABOUT EXISTING WORKLOADS?
CONTAINER INFRASTRUCTURE AND ORCHESTRATION
Container Application and Kubernetes orchestrati...
ANY
CONTAINER
Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop
ANY
INFRASTRUCTURE
APPLICATION LIF...
WHAT IS CONTAINER-NATIVE VIRTUALIZATION?
Technology enabling developer use of OpenShift Container Platform as a unified pl...
CONTAINER-NATIVE VIRTUALIZATION
15
Leverages tried and trusted RHEL (KVM) virtualization capabilities.
Technology Preview ...
EXAMPLE USE CASE - START WITH A VM
EXAMPLE USE CASE - BUILD NEW SERVICES
EXAMPLE USE CASE - START DECOMPOSING
Container
TOGETHER AT LAST
Virtual Machine
ENTERPRiSE CONTAINER HOST
Physical Machine
Container
Resultant virtual machines...
LEVERAGE EXISTING ECOSYSTEMS
Use native OpenShift Primed storage solutions or Red Hat OpenStack Platform storage
solutions...
DEEP DIVE
Upstream Projects
- KubeVirt
The virtual machine operator
- Containerized Data Importer (CDI)
Importing disks
- Virt-v2v (...
Import using virt-v2v
● Not shown in the Keynote demo for CNV
● Virtual Machines are imported into CNV using virt-v2v
○ Fr...
OpenShift Web Console
● Additions to OpenShift Web Console to display virtual machines alongside pods
○ Metrics from pods
...
Templates & Service Catalog
● Virtual Machines can be created from OpenShift Templates like any other object
○ OpenShift C...
Disks - Import and storage
● Virtual Machine disks are mapped to and stored on PersistentVolumes
○ 1:1 mapping of disk to ...
Offline and running Virtual Machine
● Offline Virtual Machine
● Define a virtual machine without
running it
● Comparable t...
Scheduling
● Virtual Machine are scheduled as pods
○ Same set of features (affinity/anti-affinity, labels and selectors, t...
Virtual Machine Operator and API
● Virtual Machines have their own kind
○ Ability to express all common
virtual machine pa...
Virtual Machines and Pods
● Virtual Machines live in pods
○ Transparent to higher-level
management systems
(monitoring, me...
Virtual machine client tool
● Additional server sided virtualization functional needs to be exposed
○ Connecting to consol...
Network - Connectivity and service integration
● Virtual Machine are connected to the regular pod network
○ From the outsi...
KataContainers? gVisor?
● Another use of KVM in the Kubernetes context
● Different use-case: Improve security of container...
DEMO (link)
FUTURE PLANS
FUTURE PLANS
Technology Preview enabled with OpenShift Container Platform in an upcoming release of
Red Hat Cloud Suite.
W...
We Want to Hear From You!
Or visit the survey booth in the Feedback Zone located in:
Moscone West
L2 Lobby
Provide your in...
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitte...
LINKS
● KubeVirt
○ Website
○ User Guide
○ API Documentation
● Containerized Data Importer
● OpenShift Web Console
● Ansibl...
Upcoming SlideShare
Loading in …5
×

Introducing Container-native Virtualization

1,574 views

Published on

Container-native Virtualization (CNV) - based on the KubeVirt community project - provides a unified platform where developers can build, modify, and deploy applications residing in both Application Containers as well as Virtual Machines in a common, shared environment. This provides a facilitated means for rapid application modernization with a common fabric across the Open Hybrid Cloud.

Published in: Technology
  • Legitimate jobs paying $40/h Tap into the booming online job, industry and start working now! ★★★ http://ishbv.com/ezpayjobs/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Introducing Container-native Virtualization

  1. 1. INTRODUCING CONTAINER-NATIVE VIRTUALIZATION Cats and Dogs Living Together Stephen Gordon Principal Product Manager Red Hat sgordon@redhat.com / @xsgordon 10th May 2018 Fabian Deutsch Manager, Software Engineering Red Hat fdeutsch@redhat.com / @dummdida
  2. 2. FIRST A LITTLE HISTORY Virtual Machines
  3. 3. FIRST A LITTLE HISTORY Virtual Machines Containers
  4. 4. VIRTUAL MACHINES AND CONTAINERS VIRTUAL MACHINES CONTAINERS VM virtualizes the hardware Container virtualizes isolates the process VM OS Dependencies Kernel Hypervisor Hardware App App App App Hardware Container Host (Kernel) Container App OS deps Container App OS deps Container App OS deps Container App OS deps
  5. 5. VIRTUAL MACHINES AND CONTAINERS Each of these attributes can be a positive or a negative for a given workload. Increasingly organizations have a mix of both. Virtual Machine Application OS dependencies Operating System Container Host Container Application OS dependencies
  6. 6. EXISTING SYSTEMS TREAT THESE SEPARATELY RHEL Physical Machine Virtual Machine RHEL Physical Machine Virtual Machine Container RHEL Physical Machine Container
  7. 7. WHAT ABOUT EXISTING WORKLOADS? CONTAINER INFRASTRUCTURE AND ORCHESTRATION Container Application and Kubernetes orchestration as provided by OpenShift are becoming the standard for new applications.
  8. 8. WHAT ABOUT EXISTING WORKLOADS? CONTAINER INFRASTRUCTURE AND ORCHESTRATION Container Application and Kubernetes orchestration as provided by OpenShift are becoming the standard for new applications. VIRTUALIZED WORKLOADS Virtualized Workloads are not going anywhere fast! Business reasons (cost, time to market) and technical reasons (older/different operating system)
  9. 9. WHAT ABOUT EXISTING WORKLOADS? CONTAINER INFRASTRUCTURE AND ORCHESTRATION Container Application and Kubernetes orchestration as provided by OpenShift are becoming the standard for new applications. VIRTUALIZED WORKLOADS Virtualized Workloads are not going anywhere fast! Business reasons (cost, time to market) and technical reasons (older/different operating system) CONVERGING INFRASTRUCTURE How can we bring these two worlds closer together?
  10. 10. ANY CONTAINER Amazon Web Services Microsoft Azure Google CloudOpenStackDatacenterLaptop ANY INFRASTRUCTURE APPLICATION LIFECYCLE MANAGEMENT ENTERPRISE CONTAINER HOST CONTAINER ORCHESTRATION AND MANAGEMENT (KUBERNETES) OPENSHIFT CONTAINER PLATFORM Benefit from: ● Placement ● Network security ● Isolation ● Quota ● etc.
  11. 11. WHAT IS CONTAINER-NATIVE VIRTUALIZATION? Technology enabling developer use of OpenShift Container Platform as a unified platform for building, modifying, and deploying applications residing in both containers and virtual machines in a common, shared environment. Add virtual machines to your OpenShift projects directly from the service catalog!
  12. 12. CONTAINER-NATIVE VIRTUALIZATION 15 Leverages tried and trusted RHEL (KVM) virtualization capabilities. Technology Preview access in an upcoming release of Red Hat Cloud Suite.
  13. 13. EXAMPLE USE CASE - START WITH A VM
  14. 14. EXAMPLE USE CASE - BUILD NEW SERVICES
  15. 15. EXAMPLE USE CASE - START DECOMPOSING
  16. 16. 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
  17. 17. LEVERAGE EXISTING ECOSYSTEMS Use native OpenShift Primed storage solutions or Red Hat OpenStack Platform storage solutions via OpenStack Cinder interface (cloning support recommended). Container Virtual Machine ENTERPRiSE CONTAINER HOST Physical Machine Container
  18. 18. DEEP DIVE
  19. 19. Upstream Projects - KubeVirt The virtual machine operator - Containerized Data Importer (CDI) Importing disks - Virt-v2v (APB) Importing a whole virtual machine - OpenShift Web Console With UI extensions
  20. 20. Import using virt-v2v ● Not shown in the Keynote demo for CNV ● Virtual Machines are imported into CNV using virt-v2v ○ From VMware, libvirt, and ova ● Initial work with upstream to get it right
  21. 21. OpenShift Web Console ● Additions to OpenShift Web Console to display virtual machines alongside pods ○ Metrics from pods ○ Direct reference to the underlying pod ● Creation of virtual machines from the UI via (if the specific service broker is enabled) ○ Templates* (also work from the CLI) ○ APBs (Ansible Playbook Bundles)
  22. 22. Templates & Service Catalog ● Virtual Machines can be created from OpenShift Templates like any other object ○ OpenShift Console was showing a new “Virtualization” category ○ Parameters, metadata, … ● Template Service was used to make the Template discoverable in the Service Catalog ● Ansible Playbook Bundles (APBs) can be used for more complex setups
  23. 23. Disks - Import and storage ● Virtual Machine disks are mapped to and stored on PersistentVolumes ○ 1:1 mapping of disk to PV - Alignment with Kubernetes concepts ○ Mutable and immutable ○ Benefit from the Kubenretes/OpenShift ecosystem and thus indirectly from OpenStack Cinder and it’s own ecosystem ● Virtual Machine disks are imported using CDI (Containerized Disk Importer) ○ Ability to fetch disk images via http, … ○ Upload is in the works
  24. 24. Offline and running Virtual Machine ● Offline Virtual Machine ● Define a virtual machine without running it ● Comparable to idling deployment ● Running Virtual Machine ● Created from the template section of an offline virtual machine ● Comparable to how pods are created from deployments
  25. 25. Scheduling ● Virtual Machine are scheduled as pods ○ Same set of features (affinity/anti-affinity, labels and selectors, taints and tolerations) ○ Custom scheduler as needed ● Applications within virtual machines are exported using Service and Routes ○ Selection using labels and selectors
  26. 26. Virtual Machine Operator and API ● Virtual Machines have their own kind ○ Ability to express all common virtual machine parameters and actions ○ Targeted feature set is comparable to libvirt ● Implemented as a CRD ○ Inheriting authn, authz, client ool support, … apiVersion: kubevirt.io/v1alpha1 kind: VirtualMachine metadata: name: vm-fedora spec: domain: devices: disks: … resources: requests: memory: 1024M volumes: … status: interfaces: - ipAddress: 172.17.0.12 nodeName: localhost phase: Running
  27. 27. Virtual Machines and Pods ● Virtual Machines live in pods ○ Transparent to higher-level management systems (monitoring, metrics, …) ○ Technically: Not worse than today ● Virtual Machines leverage pods ○ Metadata - Labels and annotations, passed through and additional ○ CPU and memory resources ○ Affinity and anti-affinity ○ Storage and network ● Virtual Machines specifics ○ Specific events
  28. 28. Virtual machine client tool ● Additional server sided virtualization functional needs to be exposed ○ Connecting to consoles ○ Starting and stopping ○ Live migration ● Leveraging the existing kubectl plugin mechanism ○ Standalone or as a plugin $ kubectl plugin virt start myvm $ kubectl plugin virt vnc myvm
  29. 29. Network - Connectivity and service integration ● Virtual Machine are connected to the regular pod network ○ From the outside there is no difference between a VM and pod ● Applications within virtual machines are exported using Service and Routes ○ Selection using labels and selectors ● Advanced networking (SR-IOC, L2, infiniband, …) is under discussion in upstream Kubernetes
  30. 30. KataContainers? gVisor? ● Another use of KVM in the Kubernetes context ● Different use-case: Improve security of container workloads ○ Adding an isolation layer to pods ● Not suited or aimed to run general purpose virtual machines
  31. 31. DEMO (link)
  32. 32. FUTURE PLANS
  33. 33. FUTURE PLANS Technology Preview enabled with OpenShift Container Platform in an upcoming release of Red Hat Cloud Suite. We are looking for early adopters now! Current “wish list”: ○ Additional VM life-cycle actions ○ Turn-Key storage solutions ○ Additional networking options (Multi-net? SR-IOV?) ○ VM ReplicaSets, DaemonSets, etc. ○ Istio
  34. 34. We Want to Hear From You! Or visit the survey booth in the Feedback Zone located in: Moscone West L2 Lobby Provide your input on your infrastructure and use cases Take this survey https://bit.ly/2HJbUfx
  35. 35. THANK YOU plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat
  36. 36. LINKS ● KubeVirt ○ Website ○ User Guide ○ API Documentation ● Containerized Data Importer ● OpenShift Web Console ● Ansible Playbooks

×