- Developer Tools
Ho Ming Li, June 10, 2013
This post presents a picto-guide with some commentary on how to get a Stackato PaaS up and running quickly and easily on OpenStack.
Stackato is delivered as a Virtual Appliance, meaning it is delivered as a ready-built VM image for you to import to your hypervisor and get going right away. You don't have to build the whole PaaS from scratch, and you don't need any specialized build tools.
Step 1: Get the Stackato KVM Image
Step 2: Put the Image on OpenStack
Unzip stackato-img-kvm-v2.10.4.zip to find a Stackato-VM directory.
Go into the directory to find the stackato-img-kvm-v2.10.4.img image file.
Put this image file on some web space that will be accessible from OpenStack. I have put mine in a local network storage folder which is accessible via HTTP.
Login to Horizon, the OpenStack Dashboard, and find your OpenStack project.
Go to "Image & Snapshots" and then click the "Create Image" button.
Specify a name and the location here you have uploaded the image file. Choose the Raw format.
Alright, let's make this image publicly available. Check the "Public" checkbox.
Click "Create Image" and the image upload starts.
While this is happening, we're going to set up our security groups.
Select "Access & Security" and create a security group for Stackato. In the example below, I've created a group especially for Stackato called 'stackato-ext', which allows external access through ports 22 (for SSH), 80 (for HTTP), and 443 (for HTTPS). For the ability to ping the host, you may want to add an ICMP rule too.
If the image upload is still not complete, go grab a coffee and come back. It will be done soon.
And... we're back! When the image is ready (Status is Active), the Stackato virtual appliance is now available for use on OpenStack. Go ahead, let's launch an instance!
Step 3: Launching a Stackato Instance
Select the newly uploaded Stackato image and give it a proper, recognizable name. Ensure that the chosen flavor supports the amount of resource the VM requires (2GB RAM at the very least, 3GB+ recommended).
Switch to the "Access & Security" tab and check the Security Group checkbox for the group you created earlier.
That's it. Launch it!
When the instance is "Active", click the instance, and select the VNC tab. You will see the TTY console there.
Step 4: Give the Stackato Instance an external IP
"Allocate IP To Project" if you don't already have an available Floating IP.
Associate the Floating IP to your VM instance
Okay, now we have both an external IP and an internal IP for the Stackato MicroCloud.
Step 5: Setting up wildcard DNS
The Stackato Micro Cloud uses mDNS to broadcast its name on local subnets. On OpenStack this will generally not work (it's generally on a different network) so we'll have to set up some sort of wildcard DNS resolution. You can use the xip.io service to get quick wildcard DNS resolution based on the VM's IP address, or you can setup a DNS entry manually.
Click into the running instance and select the VNC tab again. Press ‘l' on your keyboard to get a login prompt. Login with the default username ‘stackato' and password ‘stackato'.
Rename the Stackato MicroCloud to match your xip.io or DNS hostname. Here I'm using my floating IP address (192.168.68.227) and appending 'xip.io'.
$ kato node rename 192.168.68.227.xip.io
When the node rename completes, follow the onscreen suggestion to remove the mdns role.
$ kato role remove mdns
Reboot the instance.
$ sudo reboot
That should really be all the command line you'll ever do in this set up. It's not so hard, is it?
Step 6: Deploying Apps!
When the instance boots, it will show you the URL for the Stackato Management Console. In my case it's http://192.168.68.227.xip.io Open this URL in your favorite browser.
This is the initial console setup welcome page. The password that you provide here will also become the password for the system user stackato, replacing the default 'stackato' used previously.
Time to deploy an application to Stackato, your very own personal Private PaaS on OpenStack. Navigate to the App Store and install any of the open source applications there. I have chosen to deploy the pet-catalog Java application.
It started in minutes and now I have a catalog full of cats! Cats galore!
Step 7: Use moaar PaaS and tell the world!
That didn't take long, did it? For the time you need to manually set up a single application (install Linux, install MySQL, install Java runtime, load the code, configure everything, test everything, start the app server), we have set up a polyglot private PaaS running on OpenStack.
Start now. Get Stackato. Use PaaS. And tell the world how much you love using PaaS. Do it. Now.
Trackback URL for this post:
Share this post: