{"id":223,"date":"2015-09-07T09:34:17","date_gmt":"2015-09-07T09:34:17","guid":{"rendered":"http:\/\/onlinelab.info\/?p=223"},"modified":"2015-09-07T09:34:17","modified_gmt":"2015-09-07T09:34:17","slug":"install-openstack-kilo-on-ubuntu-14-04-2","status":"publish","type":"post","link":"https:\/\/www.asianux.org.vn\/index.php\/2015\/09\/07\/install-openstack-kilo-on-ubuntu-14-04-2\/","title":{"rendered":"Install OpenStack Kilo on Ubuntu 14.04.2"},"content":{"rendered":"<figure id=\"attachment_8807\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8807\" src=\"http:\/\/www.itzgeek.com\/wp-content\/uploads\/2015\/06\/OpenStack-Logo.png\" alt=\"OpenStack Logo\" width=\"200\" height=\"200\" title=\"\"><figcaption class=\"wp-caption-text\">OpenStack Logo<\/figcaption><\/figure>\n<p>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.<\/p>\n<h2>Components:<\/h2>\n<table>\n<tbody>\n<tr>\n<th>COMPONENT<\/th>\n<th>NAME<\/th>\n<th>USE<\/th>\n<\/tr>\n<tr>\n<td>Compute<\/td>\n<td>(Nova)<\/td>\n<td>Manages virtual machines<\/td>\n<\/tr>\n<tr>\n<td>Object Storage<\/td>\n<td>(Swift)<\/td>\n<td>Manages storage across cloud<\/td>\n<\/tr>\n<tr>\n<td>Block Storage<\/td>\n<td>(Cinder)<\/td>\n<td>Manages storage to compute instance<\/td>\n<\/tr>\n<tr>\n<td>Networking<\/td>\n<td>(Neutron)<\/td>\n<td>Manages networking and ip addresses<\/td>\n<\/tr>\n<tr>\n<td>Dashboard<\/td>\n<td>(Horizon)<\/td>\n<td>Provide graphical web interface to manage resources<\/td>\n<\/tr>\n<tr>\n<td>Identity Service<\/td>\n<td>(Keystone)<\/td>\n<td>Manages authentication system across cloud<\/td>\n<\/tr>\n<tr>\n<td>Image Service<\/td>\n<td>(Glance)<\/td>\n<td>Provides disk and server images (Template)<\/td>\n<\/tr>\n<tr>\n<td>Telemetry<\/td>\n<td>(Ceilometer)<\/td>\n<td>Billing system<\/td>\n<\/tr>\n<tr>\n<td>Orchestration<\/td>\n<td>(Heat)<\/td>\n<td>Provides orchestration function<\/td>\n<\/tr>\n<tr>\n<td>Database<\/td>\n<td>(Trove)<\/td>\n<td>Database engine<\/td>\n<\/tr>\n<tr>\n<td>Bare Metal Provisioning<\/td>\n<td>(Ironic)<\/td>\n<td>Provisions bare-metal system instead of virtual machine<\/td>\n<\/tr>\n<tr>\n<td>Multiple Tenant Cloud Messaging<\/td>\n<td>(Zaqar)<\/td>\n<td>Cloud messaging service for Web developers<\/td>\n<\/tr>\n<tr>\n<td>Elastic Map Reduce<\/td>\n<td>(Sahara)<\/td>\n<td>Provisions Hadoop clusters<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Infrastructure Design:<\/h2>\n<p>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.<\/p>\n<p>OpenStack recommends below configurations for each node, with 64 bit host operating system.<\/p>\n<p>\u2022 Controller Node: 1 processor, 2 GB memory, and 5 GB storage<br \/>\n\u2022 Network Node: 1 processor, 512 MB memory, and 5 GB storage<br \/>\n\u2022 Compute Node: 1 processor, 2 GB memory, and 10 GB storage<\/p>\n<p>The following is the network configuration of each node.<\/p>\n<table width=\"743\">\n<tbody>\n<tr>\n<th>ROLE<\/th>\n<th>NW CARD 1<\/th>\n<th>NW CARD 2<\/th>\n<th>NW CARD 3<\/th>\n<\/tr>\n<tr>\n<th>CONTROLLER NODE<\/th>\n<th>192.168.12.21 \/ 24, GW=192.168.12.2<br \/>\n(MANAGEMENT NETWORK)<\/th>\n<th>NA<\/th>\n<th>NA<\/th>\n<\/tr>\n<tr>\n<th>NETWORK NODE<\/th>\n<th>192.168.12.22 \/ 24 GW=192.168.12.2<br \/>\n(MANAGEMENT NETWORK)<\/th>\n<th>192.168.11.22 \/ 24<br \/>\n(TUNNEL NETWORK)<\/th>\n<th>192.168.0.10 \/ 24 GW=192.168.0.1<br \/>\n(EXTERNAL NETWORK \u2013 DHCP ENABLED)<\/th>\n<\/tr>\n<tr>\n<th>COMPUTE NODE<\/th>\n<th>192.168.12.23 \/ 24 GW=192.168.12.2<br \/>\n(MANAGEMENT NETWORK)<\/th>\n<th>192.168.11.23 \/ 24<br \/>\n(TUNNEL NETWORK)<\/th>\n<th>NA<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>* Tunnel Network wont have a gateway ip in the configuration file, this network is used for internal communication between Network Node and Compute Node.<\/p>\n<p>Add a host entry, so that nodes can use hostname to communicate instead of ip address. Place it on all nodes.<\/p>\n<pre># nano .\/etc\/hosts\n\n# controller\n192.168.12.21 controller\n# network\n192.168.12.22 network\n# compute\n192.168.12.23 compute<\/pre>\n<p>Once you have done with configuring ip address, ping between nodes to verify the connectivity.<\/p>\n<h2>NTP Server:<\/h2>\n<p>Install and configure NTP on Controller Node so that all other nodes can do time sync.<\/p>\n<pre># apt-get install ntp\n# service ntp restart<\/pre>\n<h2>Client NTP Configuration<\/h2>\n<p>Install NTP package on both Network and Compute node<\/p>\n<pre># apt-get install ntp<\/pre>\n<p>Edit the below configuration file.<\/p>\n<pre># nano \/etc\/ntp.conf<\/pre>\n<p>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.<\/p>\n<pre>server controller<\/pre>\n<p>Restart the NTP service.<\/p>\n<pre># service ntp restart<\/pre>\n<h2>OpenStack packages:<\/h2>\n<p>Install the Ubuntu Cloud archive keyring and repository.<\/p>\n<pre># apt-get install ubuntu-cloud-keyring\n\n# echo \"deb http:\/\/ubuntu-cloud.archive.canonical.com\/ubuntu\" \"trusty-updates\/kilo main\" &gt; \/etc\/apt\/sources.list.d\/cloudarchive-kilo.list<\/pre>\n<p>Upgrade your system.<\/p>\n<pre># apt-get update &amp;&amp; apt-get dist-upgrade<\/pre>\n<p>Do the above two steps on all nodes.<\/p>\n<h2>Install MySQL database:<\/h2>\n<p>OpenStack components uses MySQL database to store information, so install MySQL on the Controller Node.<\/p>\n<pre># apt-get install mariadb-server python-mysqldb<\/pre>\n<p>Installer invokes a command line tui to set MySQL root password.<\/p>\n<pre># nano \/etc\/mysql\/conf.d\/mysqld_openstack.cnf<\/pre>\n<p>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.<\/p>\n<pre>[mysqld]\n## Set to Management IP\nbind-address = 192.168.12.21\ndefault-storage-engine = innodb\ninnodb_file_per_table\ncollation-server = utf8_general_ci\ninit-connect = 'SET NAMES utf8'\ncharacter-set-server = utf8<\/pre>\n<p>Restart the MySQL.<\/p>\n<pre># service mysql restart<\/pre>\n<h2>Install RabbitMQ:<\/h2>\n<p>RabbitMQ is used by OpenStack to coordinate operations and status information among services. Install it on controller node.<\/p>\n<pre># apt-get install rabbitmq-server<\/pre>\n<p>Add openstack user.<\/p>\n<pre># rabbitmqctl add_user openstack password<\/pre>\n<p>* Replace password with your own password.<\/p>\n<p>Allow openstack user to read, write and configuration access.<\/p>\n<pre># rabbitmqctl set_permissions openstack \".*\" \".*\" \".*\"<\/pre>\n<p>Next is to configure KeyStone (OpenStack identity) service.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenStack Logo 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:&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-223","post","type-post","status-publish","format-standard","hentry","category-virtualization"],"_links":{"self":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts\/223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/comments?post=223"}],"version-history":[{"count":0,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts\/223\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/media?parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/categories?post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/tags?post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}