Getting started with Maestro

Maestro is a full container management service. Once your Docker images are ready we’ll take care of deploying and managing your containers and infrastructure (servers, load balancers, etc).

What you’ll need

Before you start, please check you have the following:

An account with your cloud provider of choice. Cloud 66 supports AWS, Google Cloud, Azure, Linode, DigitalOcean, Packet, Rackspace and Cloud A.

If you don't have images or code ready, you can use this simple visit counter application we've supplied on Github. (You can also use this project with our next tutorial on Clusters.)

Choosing application type

New users will be show the product selection wizard. For Maestro, choose “I have a containerized application” and then “I need to build a Kubernetes cluster” (Try Maestro).

Step 1

Product choice wizard - step 1

Step 2

Product choice wizard - step 2

If you’re already using Cloud 66 just click New Application → Maestro (Build a new cluster) button on the dashboard.

Start a new Skycap build pipeline

Adding services

The first step is to give your application a name. This will be used to label your application throughout the Cloud 66 dashboard.

Next, you need to add at least one service. To your application. If you’re using our demo application, you will need to add a single service called demo-app by pulling the code from this public repo.

To do this:

  1. Copy the Clone or download link from Github
  2. Paste it into the Git Repo URL field
  3. Type master into the branch field
  4. Click Go to fetch and analyze the code

Adding services to a Maestro application

Specifying the source of images

Specifying the source of your service

The Where is your service image? dropdown provides you with three options to specify the source of your services.

Building application images

Before you can deploy your application, you need to build your services into container images. To do this, click the green Build Application Images button.

You can now watch the build log as Maestro fetches your application code and builds it into Docker images, ready for deployment.

Maestro image building log

Preparing for deployment

To start the deployment process click the Set up a Deployment button from the Application Overview page. You will then need to configure various aspects of the application to ensure it’s deployed properly. This includes:

Container network configuration

Our sample application is composed of a single Python service that we’ve named demo-app. This is a web app so we need to configure the service to handle web traffic.

At the moment we can see that 0 services are connected to the Internet. To change this we click on the plug icon to open the network setting panel.

The demo-app service will run inside a container, so we need to configure that container to respond to web traffic. A standard web server listens on port 80 for HTTP traffic, so we’re going to use that as our Public Internet Port

The demo-app service listens to port 5000 so we need set the Container Port to 5000 to the Public Internet Port to 80:

Configuring container networking in Maestro

Adding a data source

The application also needs a redis data store, so we should add one now:

  1. Click on Add Data Source
  2. Select Redis from the list of available source
  3. Click Done

Adding a data source to an app in Maestro

Our application is now configured and ready to deploy.

Choose a cloud provider

Now we need to choose a cloud provider as a target for the deployment. You can do this using the dropdowns in the right-hand column.

For this demo we’ll use DigitalOcean and deploy the application to the London, UK region.

Choose a cloud and region

You can also deploy to your own servers. First you need to add them as registered servers.

Configure server size

The server size can be set by clicking on the cog at the top right the server.

Selecting a server size in Maestro

Learn more about choosing the right size for your servers.

Deploy your app

Now everything is ready to go, just hit the Deploy button.

If this is your first deployment you’ll be prompted to enter your access credentials for your cloud hosting provider. Once you’ve added these the deployment will begin.

During the build and deployment process you can view the log to see what’s happening behind the scenes.

Deploying your application

Note

The initial deployment process may take 15 minutes or more, because Maestro needs to provision the new server from the ground up. You can close the window and Maestro will send you an email when the deployment is complete.

Test your app

Once deployment is complete, you can test your application by visiting your app’s detail page and clicking on the Visit Site link in the panel at the top of the Services tab.

If youre deployment has worked as planned, you will see the following text:

“Hello World! I have been seen X times”

…(where X is a positive integer). If you refresh the page, that number should increase by one. This dynamic data is coming from the redis data store that we added to the app.

What’s next?