Project Photon OS, the small-footprint container runtime from VMware that was first announced back in April, is making great progress. Several new enhancements to this open source initiative are especially interesting to vSphere administrators and those responsible for deployment and administration.
PXE Boot and Network Installation
Operating system ISO images may be the lingua franca of install media due to portability and ease of use across a wide range of environments, but a proper PXE boot infrastructure can be a very valuable enhancement to both lab test beds and production environments. Those that have invested the effort in PXE will be pleased to know that Photon OS TP2 can be easily booted from the network for quick installation. And by quick, we mean really quick! Photon OS is purpose-built for containers and does not include the extraneous packages found in general-purpose distributions. Administrators can expect an interactive installation to take less than a minute, and the majority of that time will likely be spent keying in a complex root password two times.
The source of the network installation is also flexible, ranging from an internal HTTP server to a public Internet-based repository for those environments that desire to keep things minimal.
Manually installing guests in vSphere is fine for one-off efforts, troubleshooting, or other experiments, but to really operationalize any process, automation is necessary. Photon OS TP2 now supports scripted installation, which can be used with either the network or ISO installation options.
While it accomplishes the same goal as traditional kickstart, the Photon OS scripted install differs somewhat in implementation. The first and most obvious difference is the configuration file format. Instead of a plain text file with simple directives, Photon OS leverages JSON format. This is easy enough to edit by hand but also opens up the possibilities for programmatic manipulation, if desired. Another major difference is the range of directives – Photon OS is streamlined by nature and does not offer infinite control over aspects such as disk partition layout. There is, however, a means of running an arbitrary script at the end of the installation that should satisfy a great majority of customization requirements.
Guest OS Customization
In a vSphere environment, automated installation is great but it is typical to deploy new VMs from a template or Content Library – one of the new features of vSphere 6. Photon OS TP2 now has the necessary internals to support the guest OS customization that must occur after making a clone of a VM template. This is the procedure by which unique settings such as the hostname and network configuration are properly assigned. In TP2, all of the typical naming and addressing options are supported.
A new approach to OS deployment known as RPM-OSTree debuts in Photon OS TP2. This is an open source mechanism that combines aspects of image-based and package-based OS configuration, aimed at improving the consistency of deployed systems. Instead of updating packages on farms of individual servers through some means of configuration management, updates are made to a central reference system that is subsequently synchronized to clients.
While this approach may seem restrictive, it is actually very well aligned with a container runtime instance that needs just a small number of packages installed. Offering an advantage in areas such as stability and security, server instances become largely immutable and not subject to configuration drift that would be found in a handcrafted environment.
Photons Everywhere You Look!
Photon OS is a great open source Linux container runtime, but it is also an important ingredient in other VMware cloud-native infrastructure stacks. For instance, vSphere Integrated Containers uses a “pico” edition of the Photon OS Linux kernel for the parent VM that is repeatedly forked with Instant Clone to run containers. This “pico” edition is smaller than is practical for many Photon OS environments, but when used as an embedded component of vSphere Integrated Containers, the image can be very slim. Photon OS is also present as a container runtime in the distributed control plane that makes up Photon Controller, part of Photon Platform, the new VMware infrastructure optimized for running cloud native apps at extreme scale.
For developers, Photon OS is included in the VMware AppCatalyst product as well as through Hashicorp Atlas in the form of a Vagrant box. Speaking of Vagrant, another important new feature of Photon OS TP2 is full support for shared folders (HGFS) when using with VMware desktop hypervisors.
Getting Photon OS TP2
Photon OS continues to be offered as an open source project available on Github. But for the most part that venue is geared toward developers from VMware as well as other collaborators working on the actual code. vSphere administrators will primarily be interested in a binary ISO release, which now comes in two different sizes, optimized for minimal or full installations.
Take a look at Project Photon OS Technical Preview 2 and explore containers on your trusted vSphere infrastructure today!