buchachon - Fotolia


How to install VMware's Photon OS

Join IT pro Stuart Burns as he takes us through the installation process for the foundation of VMware's Photon Platform, Photon OS.

VMware's Photon Platform is a highly elasticized design based on microservices and containerization that was released in 2015. A core element of Photon Platform is Photon OS, which provides the underlying infrastructure for Photon Platform microservices. Photon OS is a slimmed-down Linux distribution, which provides operating system support to the applications that rest on it. It integrates with Photon Controller, Photon Platform's distributed multi-tenant control plane. The pared-down Photon OS is designed to run Docker, and, as such, is fully Docker-compliant.

With Photon OS, clustering and high availability are offloaded to developers who can use Photon Controller and other technologies, such as Mezos, Kubernetes and Swarm, to manage micro instance availability. In this article, we will learn how to set up and run basic Docker infrastructure through Photon. Docker images provide virtualized applications without the overhead of underlying operating systems. You can even join together several Docker instances to create a more customized application.

VMware hopes to make Photon the go-to platform for massive scalability and manageability by offering Photon OS for free. It should also be noted that several micro applications can live on one Photon host. To install Photon OS on Fusion or Workstation, install it as you would any other Linux OS, giving it the appropriate amounts of RAM and CPU. In my example, I am using 2 GB RAM and 1 CPU for my Docker instance. In order to install Photon, you must select the Linux subtype as "Other Linux 3 x 64 bit host."

Before beginning the installation process, set a host name and password. When prompted for an installation type, select full installation. The installation process should be relatively straightforward, as Photon OS is designed for rapid deployment. In production, such a deployment can be fully automated to provide true elastic scalability.

When the installation process begins, attach the Photon ISO image to the VM you are building and boot it, then press "Install" when prompted. You can select "Enter" for most of the prompts that follow. In order to interact more easily with Photon, turn on Secure Shell (SSH) for root. Use the vi text editor to edit "/etc/ssh/sshd_config” and remove the number before "PermitRootLogin," then restart the service by using the following command:

systemctl sshd restart.

At this point, you should be able to login using SSH terminal software, such as PuTTY. If you aren't sure of the IP address, just type "ipconfig" into the VM and it will provide with the server's IP address. Photon OS uses Dynamic Host Configuration Protocol by default to trace its IP address.

To quickly deploy a Docker instance, log into the Photon host using SSH with the root account and the password you set during installation. Docker runs as a service, so you need to start it on the Photon host. Do this by using the command:

systemctl start docker

If you are interested in statistics or ensuring that Docker is up and running, use the docker info command. This will provide you with basic information, such as Docker’'s build version and configuration options. When building an image in Docker, users may create their own image or pull it --  translation: download it -- from the available repositories. Every Docker command starts with "docker," followed by an action word, such as pull, run, stop and so on. For example, to install a simplistic Ubuntu image, use the "docker pull ubuntu" command. This will download a very rudimentary Ubuntu image. Once it is local, deploying several more instances is very quick and easy.

Start the images again using the Docker command:

docker run –i –t ubuntu /bin/bash.

Figure A: A sample Docker command.
Figure A: Command for deploying multiple Ubuntu image instances.

Running the command shown in Figure A will hopefully result in what is shown in Figure B. You are actively logged onto the server with a full command prompt. As soon as you log out using the exit or logout command, the server will stop. Remember that, as with all Linux services, commands are case sensitive.

By default, none of these images are preinstalled. If you run the "docker images" command, you will see that there is now an entry for the Ubuntu image. Notice how small the Ubuntu image size is.

At this point, we still need to set up the network configuration. Since we have many services and only one IP address, we must create some rules for forwarding between guests and host applications.

For this example, we will use the NGINX Web server. Pull down the Docker image from the VMware repository with the following command:

docker pull nginx

In this example, if you were to try to run a Web server, it would never connect. In order to fix this issue, you must provide some IP mapping. Run the NGINX installation and provide the mapping in one go with this command:

docker run -d -p 80:80 nginx

Figure B: Run an NGINX installation command.
Figure B: Run an NGINX installation command.

The command shown in Figure B offers more options than the Ubuntu command. The "–d" option tells the process to run in the background. The "80:80" option denotes that incoming port 80 should be forwarded to port 80 on the NGINX instance. Issuing the command "docker ps" will list all the active running machines.

The examples we have provided only scratch the surface of the speed and functionality provided by Photon OS. Dockerized instances also make it easy for developers to download the latest image, work on it and then upload it with the latest changes. This ensures that all developers are working with the same images and reduces the potential for localized configuration errors.

Next Steps

Increase flexibility with VMware container platforms

Key differences between VMware container platforms

VMware creates its own microservices architecture

Photon OS ties together vSphere and containers

Dig Deeper on VMware how-tos