WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple
You are here: Home / Automation / Test driving VMware Photon Controller Part 3b: Deploying Mesos

Test driving VMware Photon Controller Part 3b: Deploying Mesos

04.26.2016 by William Lam // 4 Comments

In the previous article, we demonstrated the first Cluster Orchestration solution supported by Photon Controller by deploying a fully functional Kubernetes Cluster using Photon Controller. In this article, we will now look at deploying a Mesos Cluster using Photon Controller.

test-driving-photon-controller-mesos-cluster
The minimal deployment for a Mesos Cluster in Photon Controller consists of 6 Virtual Machines: 3 Masters, 1 Zookeeper, 1 Marathon & 1 Slave. If you only have 16GB of memory on your ESXi host, then you will need to override the default VM Flavor when deploying a Mesos Cluster. If you have more than 16GB of available memory, then you can skip Step 1 and move to Step 2 directly.

Deploying Mesos Cluster

Step 1 - If you have not already created a new cluster-tiny-vm VM Flavor from the previous article that consists of 1vCPU/1GB memory, please run the following command:

./photon -n flavor create --name cluster-tiny-vm --kind "vm" --cost "vm 1 COUNT,vm.flavor.cluster-other-vm 1 COUNT,vm.cpu 1 COUNT,vm.memory 1 GB,vm.cost 1 COUNT"

Step 2- Download the Mesos VMDK from here

Step 3 - We will now upload our Mesos image and make a note of the ID that is generated after the upload completes by running the following command:

./photon -n image create photon-mesos-vm-disk1.vmdk -n photon-meos-vm.vmdk -i EAGER

Step 4 - Next, we will also need the ID of our Photon Controller Instance deployment as it will be required in the next step by running the following command:

./photon deployment list

Step 5 - We will now enable the Mesos Cluster Orchestration on our Photon Controller instance by running the following command and specifying the ID of your deployment as well as the ID of the Mesos image from the previous two steps:

./photon -n deployment enable-cluster-type 569c3963-2519-4893-969c-aed768d12623 -k MESOS -i 51c331ea-d313-499c-9d8f-f97532dd6954

test-driving-photon-controller-meso-1
Step 6 - We are now ready to spin up our Mesos Cluster by simply running the following command and substituting the network information from your environment. We are going to only deploying a single Mesos Slave (if you have additional resources you can spin up more or you can always re-size the cluster after it has been deployed). Do not forget to override the default VM Flavor used by specifying -v option and providing the name of our VM Flavor which we had created earlier called cluster-tiny-vm. You can just hit enter when prompted for the two zookeeper IP Addresses.

./photon cluster create -n mesos-cluster -k MESOS --dns 192.168.1.1 --gateway 192.168.1.1 --netmask 255.255.255.0 --zookeeper1 192.168.1.45 -s 1 -v cluster-tiny-vm

test-driving-photon-controller-meso-2
Step 7 - The process can take a few minutes and you should see a message like the one shown above which prompts you to run the cluster show command to get more details about the state of the cluster.

./photon cluster show bf962c3a-28a2-435d-bd96-0313ca254667

test-driving-photon-controller-meso-3
At this point, you have now successfully deployed a Mesos cluster running on Photon Controller. What you will be looking for in this screen is the IP Address of the Marathon VM which is the management interface to Mesos. We will need this IP Address in the next section if you plan to explore Mesos a bit more.

Exploring Mesos

Using the IP Address obtained from the previous step, you can now open a web browser and enter the following: http://[MARATHON-IP]:8080 which should launch the Marathon UI as shown in the screenshot below. If you wish to deploy a simple application using Marathon, you can follow the workflow here. Since we deployed Mesos using a tiny VM Flavor, we would not be able to exercise the final step of deploying an application running on Mesos. If you have more resources, I definitely recommend you give the workflow a try.

test-driving-photon-controller-meso-4
In our last and final article of the series, we will be covering the last Cluster Orchestration supported on Photon Controller which is Docker Swarm.

  • Test driving VMware Photon Controller Part 1: Installation
  • Test driving VMware Photon Controller Part 2: Deploying first VM
  • Test driving VMware Photon Controller Part 3a: Deploying Kubernetes
  • Test driving VMware Photon Controller Part 3b: Deploying Mesos
  • Test driving VMware Photon Controller Part 3c: Deploying Docker Swarm

More from my site

  • Test driving VMware Photon Controller Part 3c: Deploying Docker Swarm
  • Test driving VMware Photon Controller Part 3a: Deploying Kubernetes
  • Test driving VMware Photon Controller Part 2: Deploying first VM
  • Test driving VMware Photon Controller Part 1: Installation
  • Getting Started with Tech Preview of Docker Volume Driver for vSphere

Categories // Automation, Cloud Native, ESXi, vSphere 6.0 Tags // cloud native apps, ESXi, Mesos, Photon Controller

Comments

  1. *protectedBrent says

    04/27/2016 at 2:21 am

    Hi William,

    Thanks for the great posts over the last few days, but I have a question. How could VRA and Photon Controller work together? I am struggling with figuring out a way forward and not have multiple management services.

    Reply
    • William Lam says

      04/28/2016 at 9:31 am

      There's no integration today afaik. They have slightly different purposes and although Photon Controller could be made into an endpoint w/vRA using the Photon Controller's APIs, I've not seen anything yet.

      Reply
  2. *protectedAnanda Kammampati says

    07/05/2016 at 1:56 pm

    Facing challenges with Mesos cluster. Not sure what I am missing though I could have the Kubernetes cluster up and running fine before. I do have the DHCP server running in my setup. Appreciate if you could provide me any advice.
    thanks!

    ------

    [student@jumpbox ~]$ photon cluster create -n mesos-cluster -k MESOS --dns 172.16.10.250 --gateway 172.16.10.253 --netmask 255.255.255.0 --zookeeper1 172.16.10.37 -s 1 -v cluster-tiny-vm
    Using target 'http://172.16.10.30:28080'
    Zookeeper server 2 static IP address (leave blank for none):

    Creating cluster: mesos-cluster (MESOS)
    VM flavor: cluster-tiny-vm
    Slave count: 1

    Are you sure [y/n]? y
    2016/07/04 08:16:49 photon: Task 'd84b5e85-7888-4bbd-8b80-126654745c09' is in error state: {@step=={"sequence"=>"2","state"=>"ERROR","errors"=>[photon: { HTTP status: '0', code: 'InternalError', message: 'Failed to rollout MesosMaster. Error: MultiException[java.lang.IllegalStateException: ClusterWaitTaskService failed with error Wait period expired. /photon/clustermanager/wait-for-cluster-tasks/c62cc71a-b026-4922-831f-e9bf35c22fbf]', data: 'map[]' }],"warnings"=>[],"operation"=>"CREATE_MESOS_CLUSTER_SETUP_MASTERS","startedTime"=>"1467644688000","queuedTime"=>"1467644617000","endTime"=>"1467645408000","options"=>map[]}}
    API Errors: [photon: { HTTP status: '0', code: 'InternalError', message: 'Failed to rollout MesosMaster. Error: MultiException[java.lang.IllegalStateException: ClusterWaitTaskService failed with error Wait period expired. /photon/clustermanager/wait-for-cluster-tasks/c62cc71a-b026-4922-831f-e9bf35c22fbf]', data: 'map[]' }]
    -----

    Reply
  3. *protectedPatryk Wolsza (@gaiant_nicko) says

    01/11/2017 at 7:53 am

    In GA such deployment is not possible.
    There is only two option available for the cluster type parameter (KUBERNETES, HARBOR).
    Mesos can be deployed manually :
    https://github.com/vmware/photon/wiki/Install-and-Configure-a-Production-Ready-Mesos-Cluster-on-Photon-OS

    Reply

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...