Creating a Micro Cloud in HP Public Cloud from a Chromebook

I’m back! Kinda. Hopefully.

In my new role at HP, I get to share a little more about what we are up to, along with some general geeky cloud stuff again. For my first dump, I decided that I only needed a Chromebook to do anything in the cloud. Why would you need anything more powerful? 

So first task, can you actually build a cloud from a Chromebook. Specifically, could I spin up and configure our very own HP Helion Development Platform?

For this i’ll use my trusty NSFW, bought with my own money HP Chromebook. 

Since I’m going to deploy this thing into our HP Public Cloud, the first thing to do was setup a subscription. You can grab a 3 month trial account by following the instructions here.

Once you have a subscription its time to create a cluster. The process is documented at the same link about and is pretty straight forward. However, since I’m using my Chromebook to do all this, there were a few things I had to do first.

First thing I needed was an Ubuntu box. I quickly deployed one into my subscription. The smallest size is enough. As part of this process, I created a new key which I downloaded to my Chomebook. I added a floatingip so i could reach it from the internet and added a rule to allow port 22 to the default security group. This will allow you to SSH into the newly created instance. I then added the FireSSH app to Chrome so I could SSH using the key to my box. To recap:

  1. Create a new key pair and download the key.
  2. Create a small Ubuntu instance using the key pair you just created.
  3. Add port 22 to the default rule (or create your own rule and add it to the instance).
  4. Add a floating IP to the instance.
  5. SSH into the instance from your favorite SSH client (FireSSH is ok so far)

Once you are on that machine, it makes checking things easier if you install at least the OpenStack Nova and Keystone clients. You can do this by entering:

sudo apt-get -y install python-novaclient python-keystoneclient

Once you have that, download the OpenStack RC file, which you will find under the Project | Compute | Access & Security | API Access tab. I could not download this directly to my instance, so i simply opened it and pasted the contents into a new file.

I then downloaded the 64 bit Ubuntu cf-mgmt tool, which you can use to create clusters on both public cloud and your own private HP Helion OpenStack clouds. Tip: Use wget on your ubuntu instance to download, then use unzip to extract. You can also add the command to your path.

Once you have the OpenStack RC file along with the cf-mgmt tool you are ready to create the cluster:

First, source your OpenStack RC file

source yourrcfile.sh

Check everything is working by typing

nova list

You should get a list of instances that are running in your project.

Next create the cluster using the following:

~/linux-amd64/cf-mgmt create-cluster –keypair-name <name_of_your_key> –admin-email <admin_email> –admin-password <admin_password> –load http://clients.als.hpcloud.com/1.2/config/trial.yml

where:

 

  • name_of_your_key – is the name of the key pair you created earlier.
  • admin_email – is the email you wish to use when the admin account in the ALS cluster is created.
  • admin_password – is the password for the admin account you wish to create.

 

The url, is a pre-defined config file that will configure a single node with the MySQL service installed. As a default it will use a medium size instance. Feel free to download and examine that file.

It took about 10 minutes for the cluster to get going. Well it might have taken less, I used the time wisely to secure a beverage.

Next up was to connect to the cluster and make sure things were operational. The cluster will be configured with a floating ip, aka public IP. To make life easier for you, it is worth setting up a dns name for the cluster. Since I own the davidaiken.com domain name, I figured I’d setup dev.davidaiken.com.

To do this 2 DNS entries were needed.

  • ANAME – dev.davidaiken.com – pointing to the IP address of the cluster.
  • CNAME – *.dev.davidaiken.com – a wildcard to pickup things like api.dev.davidaiken.com or myapp.dev.davidaiken.com

Once I had these setup, I had to connect to the ALS cluster and update the node name. This will not only change the name, but it will also regenerate the SSL certs. (At some point I’ll add my own instead of the self signed ones, but that is a task for another night).

To change the name, SSH into your ALS cluster node, using the key and use stackato, then run the following command

kato process ready all

This will check everything is up and running. You can then type:

kato node rename dev.davidaiken.com

Obviously substituting my domain name for you own. This will then reconfigure, then restart stuff. Once its all done, you should be able to navigate to https://dev.davidaiken.com.

WHOOP!

Now I have a basic cluster running, I have a little backlog of tasks:

  • Add another DEA node
  • Add a Service Node
  • Make the service “production ready” – things like HA spring to mind.
  • Connect this to my CI/CD tool chain, Jenkins/GItHub?

I did toy with this being post 1 of x type, but i’ve already done that joke in the past, plus there are probably more on the list, but hey – this is a good start right?

PS: For those that care, I used ScribeFire to write this post and…

THIS POSTING IS PROVIDED “AS IS” WITH NO WARRANTIES, AND CONFERS NO RIGHTS, YEAH!