Eucalyptus is an open-source software infrastructure for implementing "cloud computing" on your own clusters. Eucalyptus allows you to create your own cloud computing environment in order to maximize computing resources and provide a cloud computing environment to your users.

This section will cover setting up a Cloud Computing environment using Eucalyptus with KVM. For more information on KVM see “libvirt”.

The Cloud Computing environment will consist of three components, typically installed on at least two separate machines (termed the 'front-end' and 'node(s)' for the rest of this document):

  • One Front-End: hosts one Cloud Controller, a Java based Web configuration interface, and a Cluster Controller, which determines where virtual machines (VMs) will be housed and manages cluster level VM networking.

  • One or more Compute Nodes: runs the Node Controller component of Eucalyptus, which allows the machine to be part of the cloud as a host for VMs.

The simple System networking option will be used by default. This network method allows virtual machine instances, to obtain IP addresses from the local LAN, assuming that a DHCP server is properly configured on the LAN to hand out IPs dynamically to VMs that request them. Each node will be configured for bridge networking. For more details see “Bridging”.


First, on the Front-End install the appropriate packages. In a terminal prompt on the Front-End enter:

sudo apt-get install eucalyptus-cloud eucalyptus-cc

Next, on the each Compute Node install the node controller package. In a terminal prompt on each Compute Node enter:

sudo apt-get install eucalyptus-nc

Once the installation is complete, and it may take a while, in a browser go to https://front-end:8443 and login to the administration interface using the default username and password of admin. You will then be prompted to change the password, configure an email address for the admin user, and set the storage URL.

In the web interface's "Configuration" tab, add a cluster under the "Clusters" heading (in this configuration, the cluster controller is on the same system as the cloud controller, so entering 'localhost' as the cluster hostname is correct). Once the form is filled out click the "Add Cluster" button.

Now, back on the Front-End, add the nodes to the cluster:

sudo euca_conf -addnode hostname_of_node

You will then be prompted to log into your Node, install the eucalyptus-nc package, and add the eucalyptus user's ssh key to the node's authorized_keys file, and confirm authenticity of the host's OpenSSH RSA key fingerprint. Finally, the command will complete by synchronizing the eucalyptus component keys and node registration is complete.

On the Node, the /etc/eucalyptus/eucalyptus.conf configuration file will need editing to use your node's bridge interface (assuming here that the interface is named 'br0'):


Finally, restart eucalyptus-nc:

sudo /etc/init.d/eucalyptus-nc restart

Be sure to replace nodecontroller, node01, and node02 with actual hostnames.

Eucalyptus is now ready to host images on the cloud.


  • See the Eucalyptus website for more information.

  • For information on loading instances see the Eucalyptus Wiki page.

  • You can also find help in the #ubuntu-virt, #eucalyptus, and #ubuntu-server IRC channels on Freenode.