Cluster Controller

!! Cluster Controller

The Cluster Controller manages cluster level resources. These resources include the nodes themselves, the schedules for the virtual machines and the networks for the virtual machines.

!!! Networking

The Cluster Controller must have communication with the Cloud Controller, and it must have communication with the Node Controller of each node in its cluster. The Cluster Controller is strictly an internal component, and so it should not have direct communication with the outside world. Instead, any user tasks which require action on the part of the Cluster Controller will use commands to the Cloud Controller, which will in turn direct the Cluster Controller to take the necessary actions.

!!! Communication and Interaction

The Cluster Controller communicates with the Cloud Controller in order to report on the status of cluster resources. It also receives orders from the Cloud Controller. The orders that the Cluster Controller receives from the Cloud Controller are for the purpose of managing the execution of instances in the Availability Zone. The Cloud Controller does not specify which node should run an instances, just what Availability Zone.

The Cluster Controller communicates with the Node Controllers of the nodes in its cluster in order to query the status of each node, and also to give nodes orders. For example, after the Cluster Controller has received an order to execute an instance in its Availability Zone, the Cluster Controller must then decide which node will run that instance. Then, the Cluster Controller can send an order to the node to start running an instance.

Sources:

http://www.eucalyptus.com/sites/all/files/docs/3.0/ag.pdf