Kubernetes Cluster Orchestration & Management as a Service on AWS with Cloudify and Mist.ioPosted By: Michael Shnizer on November 9, 2016
Back in April, the teams at Cloudify and Mist.io jointly announced Cloudify-as-a-Service, an open source, standards-based project with the goal of making it easier to deploy applications seamlessly across public and private clouds using the cloud orchestration power of Cloudify and the Mist.io cloud management platform. This goal is achieved with the use of a single, reusable Cloudify blueprint, based on TOSCA, to quickly provision infrastructure and application resources and nodes all managed from the Mist.io platform.
In this blog post, we are going to walk you through an actual example of the Cloudify and Mist.io integration demonstrating the deployment of a Kubernetes cluster on AWS all from the Mist.io UI.
Watch our joint webinar on migrating to microservices with Kubernetes. Go
Choosing Your Cloud
Mist.io already supports 17 cloud and container providers for you to host your application. The first step is to choose the cloud on which you want to deploy your cluster (by clicking the little image of a cloud on the bottom right-hand corner of the dashboard). In this case, we used AWS.
Once you have your cloud provider, you will be brought to a screen on which to enter your credentials and enter the required information. For AWS, those are Region, API Key, and API Secret.
Choose a Template (or create your own)
The next step in the process is to click on the “Templates” item in the left sidebar and choose one of the blueprints in the catalog or you can create your own by clicking on the “+” sign at the bottom right-hand corner. We obviously chose the Kubernetes blueprint available in the catalog, and you can see, in the below image, the information that is required.
Create a Stack
After you have the blueprint ready, you will click on the “Create Stack” button at the top right-hand corner of the screen. As always, enter the required information for the instance size, image type, etc. Then, click on the “Create Stack” button at the bottom.
On the next screen, you will see Cloudify’s output at the bottom, as it installs Cloudify Manager, a worker node, and installs Kubernetes for you. While waiting for that to finish, you can login to your EC2 account, or cloud of choice, and see the progress of the deployment.
Accessing the Kubernetes Cluster
Once AWS has completed the deployment process, you will receive the URL and login information with which to access your Kubernetes cluster.
Next, simply copy the URL, paste it into your browser, and enter the login information provided. And, voila - your Kubernetes cluster is now available!
If you want to uninstall Kubernetes, head back to the Mist.io dashboard, find your stack, click on the “⁝” next to the workflows and choose the “UNINSTALL” option.
Finally, the integration with Mist.io includes that ability to run a scale or heal workflow, using Cloudify, on your deployment directly from the UI with a single click.
Here you can see the complete demo of this Kubernetes cluster deployment from a user’s perspective using the Mist.io UI with Cloudify integration.
Hybrid Cloud Orchestration on Mist.io
With this integration, users can also run hybrid cloud orchestration scenarios using a single Cloudify blueprint that provisions VMs on multiple clouds. Watch our video showing a Wordpress site deployment consisting of a MongoDB backend and NodeJS frontend running separately on OpenStack and VMware, and orchestrated by Cloudify.
Read more about the Kubernetes-as-a-service at this link.
For more details on this use case, see the Kubernetes Getting Started Guide by the Mist.io team.