1. 程式人生 > >Openstack部署及keystone.glance元件安裝

Openstack部署及keystone.glance元件安裝

                    Openstack部署及keystone.glance元件安裝

文章開始把我喜歡的這句話送個大家:這個世界上還有什麼比自己寫的程式碼執行在一億人的電腦上更酷的事情嗎,如果有那就是讓這個數字再擴大十倍。

一.安裝Openstack

首先,配置IP

  1. #network Management  
  2. auto eth0  
  3. iface eth0 inet static  
  4. address 10.80.80.10  
  5. netmask 255.255.255.0  
  6.   
  7. #network loopback  
  8. auto lo  
  9. iface lo inet loopback  

執行命令 

  1. # /etc/init.d/networking restart  

新增Openstack源

  1. # apt-get install -y python-software-properties  
  2.   
  3. # add-apt-repository cloud-archive:icehouse  

然後更新系統

  1. # apt-get update  
  2.   
  3. # apt-get upgrade -y  
  4.   
  5. # apt-get dist-upgrade -y  
更新完成後可以等待安裝完opensatck後重啟

安裝NTP服務

  1. # apt-get install  -y ntp  

安裝mysql資料庫

  1. # apt-get install -y mysql-server python-mysqldb  

修改mysql的監聽ip 重啟mysql服務

  1. # service mysql restart  

安裝RabbitMQ

  1. # apt-get install -y rabbitmq-server   

預設使用者guest密碼guest


二.keystone元件安裝

1.獲取keystone

  1. # apt-get insatll -y keystone  

2.修改配置檔案

檔案路徑: /etc/keystone/keystone.conf

最後檔案中的配置如下:


  1. admin_token = openstack  
  2.   
  3. admin_bind_host=0.0.0.0  
  4.   
  5. admin_port=35357  
  6.   
  7. public_port=5000  
  8.   
  9. public_endpoint=http://localhost:%(public_port)s/  
  10.   
  11. admin_endpoint=http://localhost:%(admin_port)s/  
  12.   
  13. debug = True  
  14.   
  15. verbose = True  
  16.   
  17. log_file=/var/log/keystone/keystone.log  
  18.   
  19. connection = mysql://keystoneuser:[email protected]/keystone  

3.建立keystone資料庫

  1. # mysql -uroot -p -e "CREATE DATABASE keystone"  
  2.   
  3. # mysql -uroot -p -e "GRANT ALL PRIVILEGES ON keystone.* TO'keystoneuser'@'localhost'IDENTIFIED BY 'openstack';"service keystone status  
初始化資料庫的表結構
  1. # keystone-manage db_sync  

4.重啟keystone服務

  1. # service keystone restart  

5.建立keystone使用者

建立一個tenant

  1. # keystone tenant-create --name=admin  

建立一個使用者

  1. # keystone user-create --name=admin --pass="opensatck"  
建立一個角色

  1. # keystone role-create --name=admin  

關聯角色,使用者和tenant

  1. # keystone user-role-add --user admin --role admin --tenant admin  

6.定義services和API endpoints
  1. # keystone service-create --name keystone --type identity --description 'OpenStack Identity'  
設定無線網絡卡,為了以後訪問方便,可將無限網絡卡設定為靜態IP
  1. # keystone endpoint-create --service-id 01fa6ef7e6f847c4a684bfd29c2e9fb5 --publicurl 'http://192.168.0.101:5000/v2.0' --adminurl 'http://10.80.80.10:35357/v2.0' --internalurl 'http://10.80.80.10:5000/v2.0'  
7.建立一個認證檔案

檔案存放位置可以在預設登陸的使用者資料夾下,為方便訪問,可放在了 /root 下


  1. export OS_TENANT_NAME=admin  
  2. export OS_USERNAME=admin  
  3. export OS_PASSWORD=openstack  
  4. export OS_AUTH_URL="http://192.168.0.101:5000/v2.0/"  
這樣以後每次登陸時執行



  1. # source openstackrc  
即可匯入以上環境變數,沒有這個環境變數是不能訪問keystone 的。


三 glance元件安裝

1.安裝glance軟體


  1. # apt-get install -y glance  

2.修改glance配置檔案 /etc/glance/glance-api.config
  1. debug = True  
  2.   
  3. default_store = file  
  4.   
  5. bind_host = 0.0.0.0  
  6.   
  7. bind_port = 9292  
  8.   
  9. log_file = /var/log/glance/api.log  
  10.   
  11. backlog = 4096  
  12.   
  13. workers = 1  
  14.   
  15. registry_host = 0.0.0.0  
  16.   
  17. registry_port = 9191  
  18.   
  19. registry_client_protocol = http  
  20.   
  21. rabbit_host = localhost  
  22. rabbit_port = 5672  
  23. rabbit_use_ssl = false  
  24. rabbit_userid = guest  
  25. rabbit_password = guest  
  26. rabbit_virtual_host = /  
  27. rabbit_notification_exchange = glance  
  28. rabbit_notification_topic = notifications  
  29. rabbit_durable_queues = False  
  30.   
  31. qpid_notification_exchange = glance  
  32. qpid_notification_topic = notifications  
  33. qpid_hostname = localhost  
  34. qpid_port = 5672  
  35. qpid_username =  
  36. qpid_password =  
  37. qpid_sasl_mechanisms =  
  38. qpid_reconnect_timeout = 0  
  39. qpid_reconnect_limit = 0  
  40. qpid_reconnect_interval_min = 0  
  41. qpid_reconnect_interval_max = 0  
  42. qpid_reconnect_interval = 0  
  43. qpid_heartbeat = 5  
  44.   
  45. qpid_protocol = tcp  
  46. qpid_tcp_nodelay = True  
  47.   
  48. filesystem_store_datadir = /var/lib/glance/images/  
  49.   
  50. swift_store_auth_version = 2  
  51.   
  52. swift_store_auth_address = 127.0.0.1:5000/v2.0/  
  53.   
  54. swift_store_user = jdoe:jdoe  
  55.   
  56. swift_store_key = a86850deb2742ec3cb41518e26aa2d89  
  57.   
  58. swift_store_container = glance  
  59.   
  60. swift_store_create_container_on_put = False  
  61.   
  62. swift_store_large_object_size = 5120  
  63.   
  64. swift_store_large_object_chunk_size = 200