3 - Virtualisation Flashcards
Virtualisation: Allows one computer to…
do the job of multiple computers by sharing resources of single hardware.
Full virtualisation
Hypervisor simulates hardware for guest OS to run unmodified in isolation
Paravirtualisation
Guests aware of virtualisation and have modified source code to communicate with hypervisor
OS-based
Lightweight VM containers which share the same OS, libraries and binaries.
What does a hypervisor schedule
VM access to physical hardware
Native (Type 1) Hypervisor
Runs directly on host hardware
Hosted (Type 2) Hypervisor
Runs on top of conventional OS like an app. Abstracts guest from host
VM Life Cycle
Defined
Active
Paused
Suspended
VM: Defined
Configured. Not running and resources not allocated
VM: Active
Instantiated. Running + Resources allocated
VM: Paused
Not running but resources allocated
VM: Suspended
Not running and resources not allocated.
State saved to non-volatile storage
Linux Container (LXC)
Lightweight VM realised using features provided by modern Linux kernel.
multiple isolated systems on one host - each with own process and network space
Why might you not use LXCs?
Reduced isolated = less secure
Less established tools and research
Why should you virtualise?
(6 bullet points)
Improve resource utilisation
Load balancing (VMs can be moved live)
Isolation
Manageability
Hardware independence
Scalability
Why should you NOT virtualise?
Some apps not suitable (games, mission critical)
Virtualisation process adds overhead
Kubernetes
Open source system for automating deployment, scaling and management of containerised apps.
Manages containers
Kubernetes Pods
The smallest deployable units of computing in Kubernetes.
Group of 1+ containers with shared resources and a spec for running.
Always co-located and co-scheduled