liveBook · Manning

Virtual machine

As explained in Road to Kubernetes

A virtual machine is a software-emulated computer that provides an isolated operating-system environment on physical or virtualized infrastructure.

A virtual machine (VM) lets you rent a portion of a larger server rather than the whole computer. A cloud provider provisions it with the operating system and compute capacity you choose. You can then use it as a remote server for an application. section 3.1.1

Provision a server for an application

Create a Linode VM with Ubuntu 22.04 LTS, a nearby region, and a shared-CPU plan of at least 2 GB. Set a root password and, preferably, add an SSH key. Once provisioning finishes, the console displays the VM’s IP address. You now have a remote machine on which to install software and deploy code. section 3.1.1

Treat the VM as replaceable, even though its files normally remain between sessions. Destroying it also destroys data kept only on it. Keep code in Git rather than relying on files copied onto the server, and plan separately for data that must survive. Python and Node.js applications can be recreated from their code and dependency files, such as requirements.txt and package.json. section 3.2.1 section 5.1.4

A VM can also host containers: provision a fresh VM, install Docker, then run a container image. In Kubernetes, a group of VMs can form a cluster, with each member VM called a node. The VM remains the compute resource underneath these later deployment approaches. section 7.1 section 8.1.3

How Road to Kubernetes covers it

How deep it goes
Walks through cloud provisioning and replaceable-server practices without detailing virtualization internals.
Examples
Uses a Linode provisioning task, VM destruction as a reset, and a fresh VM for Docker deployment.
What it assumes
Assumes basic HTTP, URL, and command-line familiarity; introduces VM provisioning through a concrete deployment task.
What you can do after
Operate/configure it by selecting a cloud VM, deploying software to it, and treating it as replaceable.
How it connects
Connects cloud computing and virtualization to Docker containers and Kubernetes nodes.

Also explained in

Compare how 16 books explain virtual machine →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Road to Kubernetes. The section links point to the parts of the book it draws on.