Advertisement
Funnnny

Untitled

Jul 17th, 2013
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.24 KB | None | 0 0
  1. Cài đặt
  2. Các thành phần cơ bản
  3. Tạo user openstack với home là /opt/openstack :
  4. #useradd openstack
  5. #usermod –m –d /opt/openstack openstack
  6. Cài đặt các gói phục vụ việc build ứng dụng
  7. #rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
  8. #yum install yum-utils mysql-devel mysql-server python-setuptools gcc python-devel libxml2-devel libxslt-devel
  9. #easy_install pip
  10. #pip install virtualenv
  11. #pip install mysql-python
  12. Hệ thống sử dụng mysql làm database chung
  13. #mysql
  14. #mysql_secure_installation
  15. Cài đặt Keystone
  16. Cài đặt
  17. Tạo database và checkout source từ repo của openstack. Ta sẽ sử dụng bản stable/essex
  18. #mysql –p
  19. mysql> create database keystone;
  20. mysql> grant all on keystone.* to 'keystone'@'%' identified by '123456';
  21. #mkdir keystone
  22. #cd keystone
  23. #git init
  24. #git remote add origin https://github.com/openstack/keystone.git
  25. #git fetch origin stable/essex:refs/remotes/origin/stable/essex
  26. #git checkout stable/essex
  27. #pip install –r tools/pip-requires
  28. #python setup.py install
  29. Copy file etc/keystone.conf vào /etc/keystone/keystone.conf và sửa các nội dung
  30. mysql://keystone:123456@10.160.0.184/keystone
  31. admin_token = 660c298b9e10f957c101
  32. Cài keystoneclient
  33. #git checkout https://github.com/openstack/python-keystoneclient.git
  34. #cd python-keystoneclient
  35. #pip install –r tools/pip-requires
  36. #python setup.py install
  37. admin_token có thể được tạo ra bằng lệnh “openssl rand -hex [number]”. Sau đó ta sync db và khởi động service của keystone
  38. #keystone-manage db_sync
  39. #keystone-all
  40. Cấu hình
  41. Ở bước này setup các user căn bản và đổi store template service từ file sang sử dụng mysql.
  42. Setup token cho service
  43. #export SERVICE_ENDPOINT=http://10.160.0.184:35357/v2.0
  44. #export SERVICE_TOKEN=660c298b9e10f957c101
  45. Tạo một tenant mới:
  46. #keystone tenant-create --name openstackDemo --description "Default Tenant" --enabled true
  47. (id: 0669faf2eed344779f73bafa55cefb89)
  48. Tạo user admin thuộc tenant trên
  49. #keystone user-create --tenant_id 0669faf2eed344779f73bafa55cefb89 --name adminUser --pass 123456 --enabled true
  50. (id: 473f09587e004effbd6048be898f2370)
  51. Tạo 2 role admin và member
  52. #keystone role-create --name admin
  53. (id: 723ee38e160c4be5ac4199ee2585ca76)
  54. #keystone role-create --name memberRole
  55. (id: 8779a14d4c6346deb3b8d5fe42697d7f)
  56. Gán user adminUser vào role admin
  57. # keystone user-role-add --user 473f09587e004effbd6048be898f2370 --tenant_id 0669faf2eed344779f73bafa55cefb89 --role 723ee38e160c4be5ac4199ee2585ca76
  58. Tạo tenant Service để chứa toàn bộ user/pass của user các service khác
  59. # keystone tenant-create --name service --description "Service Tenant" --enabled true
  60. (id: 0e41079468e3412eb180cc24fe9ed4c4)
  61. # keystone user-create --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --name glance --pass glance --enabled true
  62. (id: ea03910d88ab4d4fb02c05d40a467f76)
  63. # keystone user-role-add --user ea03910d88ab4d4fb02c05d40a467f76 --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --role 723ee38e160c4be5ac4199ee2585ca76 (gán quyền admin cho user glance)
  64. # keystone user-create --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --name nova --pass nova --enabled true
  65. (id: 036dc56a5f044b4f93a08555d74614d3)
  66. # keystone user-role-add --user 036dc56a5f044b4f93a08555d74614d3 --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --role 723ee38e160c4be5ac4199ee2585ca76
  67. # keystone user-create --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --name ec2 --pass ec2 --enabled true
  68. (id: ed497072a40a4eaba4256a1e2b6824bc)
  69. # keystone user-role-add --user ed497072a40a4eaba4256a1e2b6824bc --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --role 723ee38e160c4be5ac4199ee2585ca76
  70. # keystone user-create --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --name swift --pass swift --enabled true
  71. (id: 0af0088a9abe4fbcbd51976ca0e25cb6)
  72. # keystone user-role-add --user 0af0088a9abe4fbcbd51976ca0e25cb6 --tenant_id 0e41079468e3412eb180cc24fe9ed4c4 --role 723ee38e160c4be5ac4199ee2585ca76
  73.  
  74. Thay vì sử dụng file config catalog.templates, ta sẽ sử dụng mysql làm backend. Sửa file /etc/keystone/keystone.conf với nội dung
  75. Thêm
  76. [filter:s3_extension]
  77. paste.filter_factory = keystone.contrib.s3:S3Extension.factory
  78. Thêm s3_extension vào phần [pipeline:admin_api]
  79. Phần [catalog] sửa thành
  80. driver = keystone.catalog.backends.sql.Catalog
  81.  
  82. Tạo các service cho openstack
  83. # keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"
  84. (id: 6b59a94d41c04c32aa9655a7676c602f)
  85. # keystone service-create --name=nova --type=compute --description="Nova Compute Service"
  86. (id: 8eea761652dc4db68e70d30eccd161e9)
  87. # keystone service-create --name=volume --type=volume --description="Nova Volume Service"
  88. (id: f0e09b1b72f145218733dcb0a3574ea1)
  89. # keystone service-create --name=glance --type=image --description="Glance Image Service"
  90. (id: 0cadf5b686d44e5b91edde5f6dd5e268)
  91. # keystone service-create --name=ec2 --type=ec2 --description="EC2 Compatibility Layer"
  92. (id: 13f7ab825efe4d44b678eab0cb3af89f)
  93. # keystone service-create --name=swift --type=object-store --description="Object Storage Service"
  94. (id: e4f509907d8f4fe5b8d94384dac780ec)
  95. Tạo endpoint cho các service vừa tạo
  96. # keystone endpoint-create --region RegionOne --service_id=6b59a94d41c04c32aa9655a7676c602f --publicurl=http://10.160.0.184:5000/v2.0 --internalurl=http://10.160.0.184:5000/v2.0 --adminurl=http://10.160.0.184:35357/v2.0
  97. # keystone endpoint-create --region RegionOne --service_id=8eea761652dc4db68e70d30eccd161e9 --publicurl='http://10.160.0.184:8774/v2/%(tenant_id)s' --internalurl='http://10.160.0.184:8774/v2/%(tenant_id)s' --adminurl='http://10.160.0.184:8774/v2/%(tenant_id)s'
  98. #keystone endpoint-create --region RegionOne --service_id=f0e09b1b72f145218733dcb0a3574ea1 --publicurl='http://10.160.0.184:8776/v1/%(tenant_id)s' --internalurl='http://10.160.0.184:8776/v1/%(tenant_id)s' --adminurl='http://10.160.0.184:8776/v1/%(tenant_id)s'
  99. #keystone endpoint-create --region RegionOne --service_id=0cadf5b686d44e5b91edde5f6dd5e268 --publicurl=http://10.160.0.184:9292/v1 --internalurl=http://10.160.0.184:9292/v1 --adminurl=http://10.160.0.184:9292/v1
  100. #keystone endpoint-create --region RegionOne --service_id=13f7ab825efe4d44b678eab0cb3af89f --publicurl=http://10.160.0.184:8773/services/Cloud --internalurl=http://10.160.0.184:8773/services/Cloud --adminurl=http://10.160.0.184:8773/services/Admin
  101. #keystone endpoint-create --region RegionOne --service_id=e4f509907d8f4fe5b8d94384dac780ec --publicurl 'http://127.0.0.1:8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://127.0.0.1:8080/' --internalurl 'http://127.0.0.1:8080/v1/AUTH_%(tenant_id)s'
  102. Sau khi restart service ta có thể test login bằng keystone bằng lệnh
  103. curl -d '{"auth": {"tenantName": "adminTenant", "passwordCredentials":{"username": "adminUser", "password": "123456"}}}' -H "Content-type: application/json" http://10.160.0.184:35357/v2.0/tokens | python -mjson.tool
  104. Lệnh này sẽ trả lại token login cho user adminUser
  105. Cài đặt Glance
  106. Tương tự keystone, ta sẽ sửa dụng sourcecode từ bản stable/essex
  107. #mkdir glance
  108. #cd glance
  109. #git init
  110. #git remote add origin https://github.com/openstack/glance.git
  111. #git fetch origin stable/essex:refs/remotes/origin/stable/essex
  112. #git checkout stable/essex
  113. #pip install -r tools/pip-requires
  114. #python setup.py install
  115. #mysql –p
  116. mysql>CREATE DATABASE glance;
  117. mysql>GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';
  118. Copy nội dung trong etc/* vào /etc/glance, sửa file /etc/glance/glance-api-paste.ini
  119.  
  120. [filter:authtoken]
  121. admin_tenant_name = service
  122. admin_user = glance
  123. admin_password = glance
  124. thêm authtoken vào [pipeline:glance-api] pipeline =
  125.  
  126. Thêm vào cuối file /etc/glance/glance-api.conf và /etc/glance/glance-registry.conf
  127. [paste_deploy]
  128. flavor = keystone
  129. Sửa file /etc/glance/glance-registry.conf phần sql_connection và khởi động service glance
  130. sql_connection = mysql://glance:123456@10.160.0.184/glance
  131. #glance-manage db_sync
  132. #glance-registry &
  133. #glance-api &
  134.  
  135. Setup các biến môi trường để login vào glance.
  136. export OS_USERNAME=adminUser
  137. export OS_TENANT_NAME=openstackDemo
  138. export OS_PASSWORD=123456
  139. export OS_AUTH_URL=http://192.168.206.130:5000/v2.0/
  140. export OS_REGION_NAME=RegionOne
  141. Ta sẽ dùng 1 image mẫu để kiểm tra cấu hình glance
  142. mkdir /tmp/images
  143. cd /tmp/images/
  144. wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
  145. tar -zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
  146. Add kernel, ramdisk và disk
  147. #glance add name="tty-linux-kernel" disk_format=aki container_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz
  148. (id: ace5e032-0526-4738-94b0-2308d060e9d8)
  149. #glance add name="tty-linux-ramdisk" disk_format=ari container_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader
  150. (id: ea47f147-a788-44fb-b260-eb6b792eb1ae)
  151. #glance add name="tty-linux" disk_format=ami container_format=ami kernel_id=ace5e032-0526-4738-94b0-2308d060e9d8 ramdisk_id=ea47f147-a788-44fb-b260-eb6b792eb1ae < ttylinux-uec-amd64-12.1_2.6.35-22_1.img
  152. Kiểm tra các image đã được upload bằng lệnh
  153. #glance index
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement