Install OpenStack Kilo on Ubuntu 14.04.2
Abstract: just hash out the lines that are starts with word server. Add below entry to get our nodes sync with controller node. server controller Restart the NT
OpenStack is an open source cloud computing platform, provides solution for infrastructure as a service. OpenStack consists of multiple component put together for providing IaaS, components are listed below with its use.
Components: Component Name Use Compute (Nova) Manages virtual machines Object Storage (Swift) Manages storage across cloud Block Storage (Cinder) Manages storage to compute instance Networking (Neutron) Manages networking and ip addresses Dashboard (Horizon) Provide graphical web interface to manage resources Identity Service (Keystone) Manages authentication system across cloud Image Service (Glance) Provides disk and server images (Template) Telemetry (Ceilometer) Billing system Orchestration (Heat) Provides orchestration function Database (Trove) Database engine Bare Metal Provisioning (Ironic) Provisions bare-metal system instead of virtual machine Multiple Tenant Cloud Messaging (Zaqar) Cloud messaging service for Web developers Elastic Map Reduce (Sahara) Provisions Hadoop clusters Infrastructure Design:As for as infrastructure is concern, we are going to use OpenStack networking (neutron), total of three Ubuntu instance will be used here, will act as Controller, Network and Compute Node.
OpenStack recommends below configurations for each node, with 64 bit host operating system.
• Controller Node: 1 processor, 2 GB memory, and 5 GB storage
• Network Node: 1 processor, 512 MB memory, and 5 GB storage
• Compute Node: 1 processor, 2 GB memory, and 10 GB storage
The following is the network configuration of each node.
Role NW Card 1 NW Card 2 NW Card 3 Controller Node 192.168.12.21 / 24, GW=192.168.12.2(Management Network) NA NA Network Node 192.168.12.22 / 24 GW=192.168.12.2
(Management Network) 192.168.11.22 / 24
(Tunnel Network) 192.168.0.10 / 24 GW=192.168.0.1
(External Network – DHCP Enabled) Compute Node 192.168.12.23 / 24 GW=192.168.12.2
(Management Network) 192.168.11.23 / 24
(Tunnel Network) NA
* Tunnel Network wont have a gateway ip in the configuration file, this network is used for internal communication between Network Node and Compute Node.
Add a host entry, so that nodes can use hostname to communicate instead of ip address. Place it on all nodes.
# nano /etc/hosts # controller 192.168.12.21 controller # network 192.168.12.22 network # compute 192.168.12.23 compute
Once you have done with configuring ip address, ping between nodes to verify the connectivity.
NTP Server:Install and configure NTP on Controller Node so that all other nodes can do time sync.
# apt-get install ntp # service ntp restartClient NTP Configuration
Install NTP package on both Network and Compute node
# apt-get install ntp
Edit the below configuration file.
# nano /etc/ntp.conf
Remove other ntp servers from the file, just hash out the lines that are starts with word server. Add below entry to get our nodes sync with controller node.
server controller
Restart the NTP service.
# service ntp restartOpenStack packages:
Install the Ubuntu Cloud archive keyring and repository.
# apt-get install ubuntu-cloud-keyring # echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list
Upgrade your system.
# apt-get update && apt-get dist-upgrade
Do the above two steps on all nodes.
Install MySQL database:OpenStack components uses MySQL database to store information, so install MySQL on the Controller Node.
# apt-get install mariadb-server python-mysqldb
Installer invokes a command line tui to set MySQL root password.
# nano /etc/mysql/conf.d/mysqld_openstack.cnf
Add the following values and ensure bind-address value is set to management ip address of controller node to allow other node can access MySQL instance.
[mysqld] ## Set to Management IP bind-address = 192.168.12.21 default-storage-engine = innodb innodb_file_per_table collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' character-set-server = utf8
Restart the MySQL.
# service mysql restartInstall RabbitMQ:
RabbitMQ is used by OpenStack to coordinate operations and status information among services. Install it on controller node.
# apt-get install rabbitmq-server
Add openstack user.
# rabbitmqctl add_user openstack password
* Replace password with your own password.
Allow openstack user to read, write and configuration access.
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Next is to configure KeyStone (OpenStack identity) service.