-
Notifications
You must be signed in to change notification settings - Fork 1
jameslabocki/Cirrus
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
############# # Cirrus # README # [email protected] ############# 1. About 1.1 Overview 1.2 Directory Structure 1.3 Cirrus.sh 1.4 Requirements 2. Installation 2.1 Obtaining the latest source 2.2 Unpacking 3. Configuration 3.1 CirrusVmList 4. Help 1. About 1.1 Overview Cirrus is intended to allow users to automatically scale a service running on a virtualization substrate. The approach is "driver" based so that various virtualization technologies can be managed and multiple applications can be monitored from a single point. The main difference between Cirrus and other projects is that it aims to monitor a service running in the cloud and provide it the resources it needs and also aims to tie systems management into the equation (dhcp, dns, patch management). | Apache | <---- Cirrus ----> | Virtualization Manager | \--"Hey, give Apache more resources" 1.2 Directory Structure /bin/ - Control Scripts /conf/ - Configuration Files /drivers/ - Drivers for components (virtualization, systems management, etc) /drivers/conf - Driver Specific Configuration /log/ - Log files 1.3 Cirrus.sh /bin/Cirrus.sh is used to add virtual machines and remove virtual machines from a private cloud. 1.4 Requirements The following are required 1.4.1 Cirrus Server On the server which you wish to run Cirrus create a cirrus user `useradd cirrus` Make a directory to hold the Cirrus scripts. By default /usr/local/Cirrus `mkdir /usr/local/Cirrus` Change ownership to cirrus `chown -R cirrus:cirrus /usr/local/Cirrus` 1.4.2 SSH keypair As the Cirrus user create a SSH keypair `ssh-keygen` The public key, by default /home/cirrus/.ssh/id_rsa.pub, will need to be copied to the servers you wish to connect to via the Cirrus scripts. 2. Installation 2.1 Obtain the latest source http://github.com/jameslabocki/Cirrus 2.2 Unpack `tar -xvzf Cirrus-archive.tar.gz` `unzip Cirrus-archive.zip` 3. Configuration 3.1 CirrusVmList The CirrusVmList is a csv file located in the global configuration directory (./conf) with the following attributes Service Name, Virtual Machine Name, IP Address, MAC Address, Technologies in Use For example: -- Arbitrary Service Name | -- Virtual Machine Name | | -- IP Address | | | -- MAC Address | | | | -- Call RHEV Driver | | | | | -- Call Satellite Action | | | | | | mrggrid,mrgexec19,172.20.128.128,00:1A:4A:14:80:CD,rhev,satellite It is important to populate this file with entries for each service you wish to scale. 4. Help If you need help, email me <[email protected]> 5. A very simple prototype web interface has been added to under the web folder. Unfortunately variables are mostly hard coded at this time. Once the list function is implemented we can dynamically build the number of listed, or available, VMs to bring on-line from a capacity standpoint. This is more of an example of how a web front-end could be implemented. For this to be effective SSH keys must be exchanged as the apache user. This is not a very secure option and this setup should never run on a publicly facing server.
About
This Cirrus project aims to create an extensible service that connects applications to cloud computing architectures and manages the resources they consume
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published