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:openstack@localhost/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  
  65.   
  66. swift_enable_snet = False  
  67.   
  68. s3_store_host = 127.0.0.1:8080/v1.0/  
  69.   
  70. s3_store_access_key = <20-char AWS access key>  
  71.   
  72. s3_store_secret_key = <40-char AWS secret key>  
  73.   
  74. s3_store_bucket = <lowercased 20-char aws access key>glance  
  75.   
  76. s3_store_create_bucket_on_put = False  
  77.   
  78. sheepdog_store_address = localhost  
  79.   
  80. sheepdog_store_port = 7000  
  81.   
  82. sheepdog_store_chunk_size = 64  
  83.   
  84. delayed_delete = False  
  85.   
  86. scrub_time = 43200  
  87.   
  88. scrubber_datadir = /var/lib/glance/scrubber  
  89.   
  90. image_cache_dir = /var/lib/glance/image-cache/  
  91.   
  92. sqlite_db = /var/lib/glance/glance.sqlite  
  93.   
  94. backend = sqlalchemy  
  95.   
  96. connection = mysql://glanceuser:openstack@localhost/glance  
  97. <pre name="code" class="python">  

3.修改 /etc/glance/glance-registre.conf文件

  1. verbose = True  
  2.   
  3. debug = True  
  4.   
  5. bind_host = 0.0.0.0  
  6.   
  7. bind_port = 9191  
  8.   
  9. log_file = /var/log/glance/registry.log  
  10.   
  11. backlog = 4096  
  12.   
  13. api_limit_max = 1000  
  14.   
  15. limit_param_default = 25  
  16.   
  17. sqlite_db = /var/lib/glance/glance.sqlite  
  18.   
  19. backend = sqlalchemy  
  20.   
  21. connection = mysql://glanceuser:openstack@localhost/glance  
  22.   
  23. [keystone_authtoken]auth_host = 127.0.0.1auth_port = 35357auth_protocol = httpadmin_tenant_name = serviceadmin_user = glanceadmin_password = openstack  
  24. flavor=keystone  

4.创建glance数据库

根据上面配置的connection创建用户名为glanceuser密码为opensatck。


  1. # mysql -uroot -p -e "CREATE DATABASE glance;"  
  2.   
  3. # mysql -uroot -p -e "GRANT ALL PRIVILEGES ON glance.* TO 'glanceuser'@'localhost'IDENTIFIED BY 'openstack';  

5.在keystone中创建glance用户,服务和endpoint

创建一个tenant


  1. # keystone tenant-create --name=service  
创建一个user


  1. # keystone user-create --name=glance --pass=openstack  

关联用户
  1. # keystone user-role-add --user glance --role admin --tenant service  

创建glance的service
  1. # keystone service-create --name glance --type image --description 'OpenStack ImageService'  

创建endpoint
  1. # keystone endpoint-create --service-id 2b9fcdf627f648ec9ffd6cc7cf3487b2 --publicurl 'http://192.168.0.101:9292' --adminurl 'http://10.80.80.10:9292/' --internalurl 'http:10.80.80.10:9292/'  
把操作更新到数据库
  1. # glance-manage db_sync  

最好使用下面这条指令执行更新操作以防报错

  1. # glance-manage db_version_control 0  

解决办法:修改数据库表额编码

  1. mysql -u root -p  glance  
  2. mysql> alter table migrate_version convert to character set utf8 collate utf8_unicode_ci;  
  3. mysql> flush privileges;  
  4. mysql> quit;  
  1. # service glance-api restart  
  2.   
  3. # service glance-registry restart  
到网上获取一个glance支持的镜像

  1. # wget http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img  

这跳命令下载的镜像会保存在当前pwd路径下,执行前请确认路径是否是你想要保存的位置。

添加镜像到glance

  1. # glance image-create --name cirros-0.3.1-x86_64 --is-public true --container-format bare --disk-format qcow2 --file cirros-0.3.1-x86_64-disk.img   

可以运行下面指令查看已经上传的镜像

  1. # glance image-list  
加油吧,程序员!






猜你喜欢

转载自blog.csdn.net/weixin_42248302/article/details/80636458
今日推荐