Getting started with VMware Photon Platform

VMware Photon Platform is an opensource cloud platform build by VMware on top for ESXi. It is specifically build to run containerized and cloud native applications. As such it pushes a lot of features into the application layer and out of the infrastructure. For example: It doesn’t support VMware HA or DRS. Or even vMotion. In this post I’ll help you getting started with VMware Photon Platform.

Update 19-04-2017: This post was based on Photon platform 1.1.1. As of today the current version is Photon platform 1.2. The only supported ESXi version is now ESXi 6.5, Patch 201701001. The steps in this post may or may not work for version 1.2.

The platform

The Photon platform contains a few different components:

  • Photon installation appliance: Deploy this appliance first an use it to deploy other photon components
  • Lightwave: This is similar to VMware SSO
  • Photon Controller: This is basically a vCenter replacement. It has a scale-out architecture and provides the Photon API, multi tenancy and resource management
  • HA Proxy: Loadbalances requests to the Photon Controllers
  • Photon OS: A tiny Linux distribution optimized to run Docker containers
  • Photon Agent: This is running on each ESXi host managed by Photon controller

Photon supports the following VMware technologies:

  • vSAN: aggregate your local disks into a large storage pool. Since there is no vCenter server in a photon deployment you need an additional appliance to manage vSAN
  • NSX: Photon integrates with VMwares SDN platform. But again: not vCenter. So you’ll only be able to use NSX-T, not the wel known NSX-v

Getting Photon Platform up and running

There is a quickstart guide which gives you most information you need t deploy Photon Platform. Use the steps below to save some time and fill in some blanks.

Prepare your lab

  1. Download the installer OVA here.
  2. Download ESXi 6.0.0 here (note: 6.5 is not supported at the moment of writing)
  3. Download patch with build number4600944 here (yes, photon only supports this specific build nr sadly…)
  4. Install two ESXi 6.0.0 hosts. I run them as virtual machines on my home lab. DO NOT CONNECT THEM TO A VCENTER!
  5. Both ESxi hosts need a local or shared datastore If you’re following my instruction you’ll have to name them “local02”. I used 150GB datastores which is sufficient to deploy the Photon components on one host. I have 23.4GB left on host running the platform.
  6. SCP the patch to the fresh hosts and use this KB article for instructions on how to deploy the patch
  7. Make sure you have at least 1 static IP available in the network where you’ll be deploying Photon. Obviously that IP should be able to reach the ESXi hosts

Deploy Photon

  1. Deploy the photon-installer ova file to one of the ESXi hosts. Just use the good ol’ vSphere C# client :). The quickstart guide mentions the web client but there is no webclient on ESXi 6.0…. Of course you can use the web client fling but that would add another step to this process.
  2. Prepare a YAML file. The quickstart guide describes the file you need.
    1. One thing the guide doesn’t mention is the fact that you need a complex password of at least 8 characters for the lightwave administrator. If you don’t the installer won’t throw an error, the installation of lightwave will just fail with a very generic error.
    2. something that is in de quickstart guide but I missed at first is the fact that all components need to use the lightwave server as their DNS server. Only the lightwave server itself uses your own DNS server.
    3. Below is the YAML I used. You’ll probably have to replace the IP addresses and it assumes that the root password for your ESXi hosts is “password”.  It also assumes that your ESXi hosts have a datastore called “local02”. another thing you might notice: I’m not joining the host where the photon appliances are deployed to the photon controller. Somehow I can’t get that to work.
  3. Save the yml above to a file and copy it to the photon installer appliance. The root password for the appliance is “changeme”. I stored the file in /root/photon.yml
  4. Log into the photon installer appliance over SSH (root/changeme)
  5. run: cd /opt/vmware/photon/controller/bin
  6. run: ./photon-setup platform install -config /root/photon.yml
  7. watch the magic happen 🙂
  8. when the magic is finished connect a browser to the loadbalancer ip. If you used my yml go to: from 2017-04-04 13-15-07
  9. Log in using the lightwave administrator credentials. If you used my yml that would be: administrator@photon.lab / Passw0rd123!
  10. Tadaa:   Screenshot from 2017-04-04 13-17-56
  11. The GUI is nice but a lot of features are still missing. If you want to use photon you’ll need the CLI. you can find it on the Github releases page and here are instructions on how to install it.

Using Photon

This post is lengthy enough as it is so I won’t go into details here. One of the features of Photon is that it can deploy a Kubernetes cluster for you.  I’m also working on a post explaining how to use BOSH with photon.


4 thoughts on “Getting started with VMware Photon Platform”

  1. Ignoring the obvious compatibility issues and strict version limitation, I must ask: isn’t it a bit weird security-wise for the passwords to be stored in plain text in a YAML file in 2017?

    1. Agree. That’s a bit weird.
      What’s even weirder is that there was a perfectly fine installation GUI in version 0.8, but it’s gone in 1.1 an now you have to create a yml and pray that it works.

  2. Christiaan,

    Thanks for all of your work to get this installation complete. I thought I would add a couple of comments to help others that try the installation:
    1) we have an issue where you use local datastores with the same name on different hosts as image datastores. If your Local02 datastores are used as image stores, you must rename one of them. We will fix this in an upcoming release.
    2) ESXi 6.5 and later will be supported with the PP 1.2 release. Should be available in the next week or so. This means that if you patched to 6.0P4, you will have to upgrade to 6.5 – BTW, this includes the new web based host client. If you haven’t tried it yet – you should, I think you will like it.

    3) We made the decision to rearchitect the install process to support a broader range of installation and update scenarios (NSX, VSAN, ESXi, etc.). You are seeing the first stage of that support. 1.2 adds to the capability and the installer will continue to evolve with 1.3 in July
    4) The default is to use the Lightwave IP as your DNS server. If you want to add an SRV record to your corporate DNS and provide a forwarder to the Lightwave DNS, you can specify your Corporate DNS for the Photon Controller Nodes.
    5) I encourage everyone to try the 1.2 release when it becomes available and the Kubernetes functionality within the platform

  3. Hello

    i have strange issue after everything deployed load balancer VM is not getting conneted from network. i cannot ping VM IP address, however if i go to console of load balancer VM i can ping my gateway but from my workstation i cannot ping. is there any firewall on load balancer VM , this is a show stopper as i cannot deploy anything or do photon tasks comands ?

Leave a Reply

Your email address will not be published. Required fields are marked *