Skip to content
Alan Graham edited this page Dec 30, 2015 · 4 revisions

In Cloudpad, the Host is the VM or bare-metal machine that will be running your containers. The host must run either CoreOS or Ubuntu (at least 14.04 LTS).

NOTE: Presently, only Ubuntu is supported for container deployment. Deployment commands that work with Fleet on CoreOS are in the development pipeline.

Cloudpad stores a local registry of the hosts that support your application. Once a Host is registered with Cloudpad, it can be automatically provisioned from a bare-bones Ubuntu install using the host:provision command.

Creating a Host

Cloudpad works with hosts by assuming you will creating them at your respective provider (e.g. Digital Ocean, AWS, OpenStack, etc). Once created, you can provision them as shown below.

Create SSH Key

Before creating your hosts, you will want to setup an SSH key that your launcher can use to access them. Create this key in your context keys directory.

$ cd /path/to/deploy/context/keys
$ ssh-keygen -t rsa -f host.key

The Launcher will now use this key when connecting your hosts.

Now when you create each host, be sure to use the host.key.pub as the access key for the server.

Registering a new host

After you've created your hosts, you'll want to register them with Cloudpad. To register a new host, run the following command:

$ bundle exec cap production hosts:add
# follow the prompts to enter the information for your host.

Provisioning a new host (Ubuntu)

For Ubuntu, Docker and some of it's necessary auxiliary services are not automatically installed. Cloudpad will take care of this for you. After registering your hosts, run the following command to provision them:

$ bundle exec cap production hosts:provision

This will perform the following actions:

  1. Install docker.io if not installed.
  2. Install and run etcd if not installed.

NOTE: If a host is ever restarted, you need to ensure that etcd is restarted. Running hosts:provision again will resolve this. Running etcd from a host container will be added in the future.

Clone this wiki locally