最小化部署,需要按照下面指定的順序安裝以下服務:
Identity service – keystone installation for Pike
Image service – glance installation for Pike
Compute service – nova installation for Pike
Networking service – neutron installation for Pike
在安裝了最小部署服務之後,我們建議安裝以下元件:
Dashboard – horizon installation for Pike
Block Storage service – cinder installation for Pike
Keystone安裝指南
OpenStack認證管理服務提供一個單點內建身份驗證、授權和服務目錄服務。其他OpenStack服務使用認證服務作為一個通用統一的API。此外,服務提供使用者的資訊,但不包括在OpenStack(如LDAP服務)可以內建到一個現有的基礎設施。為了從認證服務中受益,其他OpenStack服務需要與身份認證服務協同工作。當一個OpenStack服務從使用者那裡接收一個請求,它檢查與身份認證服務使用者是否被授權請求。身份服務包含這些元件:
Server
一個集中的伺服器使用RESTful接口提供身份驗證和授權服務。
Drivers
驅動程式或服務後端內建到集中式伺服器。他們是用于通路的身份資訊存儲庫中的外部OpenStack,并且可能已經存在在OpenStack部署的基礎設施(例如,SQL資料庫或LDAP伺服器)。
Modules
中間件子產品運作在OpenStack元件的位址空間使用身份認證服務。這些子產品攔截服務請求,提取使用者憑證,并将它們發送到中央伺服器進行授權。中間件子產品和OpenStack元件之間的內建使用Python Web Server Gateway Interface。
1、安裝前要先建立一個資料庫keystone
<code>[root@controller /]</code><code># mysql -u root -p</code>
建立資料庫
<code>MariaDB [(none)]> create database keystone;</code>
<code>Query OK, 1 row affected (0.00 sec)</code>
為keystone使用者賦予ALL權限,對keystone資料庫
<code>MariaDB [(none)]> grant all privileges on keystone.* to </code><code>'keystone'</code><code>@</code><code>'localhost'</code> <code>identified by </code><code>'123456'</code><code>;</code>
<code>Query OK, 0 rows affected (0.00 sec)</code>
1、安裝資料包
<code>[root@controller /]</code><code># yum install openstack-keystone httpd mod_wsgi -y</code>
1、編輯配置檔案/etc/keystone/keystone.conf
<a href="https://s3.51cto.com/wyfs02/M00/07/0D/wKiom1nCdniRfqNNAAALbYl5uTE181.png-wh_500x0-wm_3-wmp_4-s_18071307.png" target="_blank"></a>
在[token]設定
[token]
# ...
<a href="https://s3.51cto.com/wyfs02/M01/07/0D/wKiom1nCdpjCnKKWAAAXWQ2zrtU283.png-wh_500x0-wm_3-wmp_4-s_3149365086.png" target="_blank"></a>
1、生成認證服務的資料庫,要以keystone使用者身份來執行
<code>[root@controller /]</code><code># su -s /bin/sh -c "keystone-manage db_sync" keystone</code>
1、初始化fernet
<code>[root@controller /]</code><code># keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone</code>
<code>[root@controller /]</code><code># keystone-manage credential_setup --keystone-user keystone --keystone-group keystone</code>
1、引導身份驗證服務
<code>root@controller ~]</code><code># keystone-manage bootstrap --bootstrap-password 123456 --bootstrap-admin-url http://controller:35357/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/</code>
1、配置apache服務
設定主配置檔案/etc/httpd/conf/httpd.conf,将ServerName設定為controller節點名
<code>[root@controller ~]</code><code># vim /etc/httpd/conf/httpd.conf</code>
<a href="https://s5.51cto.com/wyfs02/M00/07/0D/wKiom1nCd4WjLlh3AAAa7i1XoD4657.png-wh_500x0-wm_3-wmp_4-s_3409758357.png" target="_blank"></a>
建立/usr/share/keystone/wsgi-keystone.conf的連結檔案
<code>[root@controller ~]</code><code># ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/</code>
設定apache開機啟動并立刻啟動
<code>[root@controller conf.d]</code><code># systemctl enable httpd.service</code>
<code>[root@controller conf.d]</code><code># systemctl start httpd.service</code>
配置管理者賬号的令牌檔案:
<code>root@controller ~]</code><code># cat admin_keystone </code>
<code>export</code> <code>OS_USERNAME=admin</code>
<code>export</code> <code>OS_PASSWORD=123456</code>
<code>export</code> <code>OS_PROJECT_NAME=admin</code>
<code>export</code> <code>OS_USER_DOMAIN_NAME=Default</code>
<code>export</code> <code>OS_PROJECT_DOMAIN_NAME=Default</code>
<code>export</code> <code>OS_AUTH_URL=http:</code><code>//controller</code><code>:35357</code><code>/v3</code>
<code>export</code> <code>OS_IDENTITY_API_VERSION=3</code>
執行這個令牌檔案:
<code>[root@controller ~]</code><code># source admin_keystone</code>
檢查操作:
在安裝其他服務之前驗證身份服務的操作是否正确,在控制器節點上執行這些指令。
1、出于安全考慮,禁用臨時身份驗證令牌機制:
編輯/etc/keystone/keystone-paste.ini 配置檔案,在[pipeline:public_api], [pipeline:admin_api], 和[pipeline:api_v3]中移除admin_token_auth
<a href="https://s3.51cto.com/wyfs02/M01/A5/BE/wKioL1nCfYGzhEJ6AABMpZk5dGA410.png-wh_500x0-wm_3-wmp_4-s_471500003.png" target="_blank"></a>
1、取消OS_AUTH_URL 和OS_PASSWORD環境變量
<code>[root@controller ~]</code><code># unset OS_AUTH_URL OS_PASSWORD</code>
1、作為admin賬号去請求一個認證令牌
<code>[root@controller ~]</code><code># openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue</code>
<a href="https://s2.51cto.com/wyfs02/M00/A5/BE/wKioL1nCfdvyyfVwAAB_RrEVgk4295.png-wh_500x0-wm_3-wmp_4-s_3659947086.png" target="_blank"></a>
glance安裝
openstack image服務可用于發現、注冊及檢索虛拟機鏡像(image),它提供了一個RESTful的API,能夠讓使用者查詢VM鏡像的中繼資料及通過http請求擷取映像。VM鏡像檔案可以存儲在各種存儲中,如普通的檔案系統、對象存儲系統(openstack object storage),S3存儲等。
openstack鏡像服務是IaaS架構的中心,它接受來自終端使用者或OpenStack計算元件的磁盤或伺服器映像的API請求和中繼資料定義。它還支援在各種存儲庫類型(包括OpenStack對象存儲)中存儲磁盤或伺服器映像。
image service由以下幾個元件構成:
glance-api:接受鏡像查找、檢索和存儲的API調用
glance-registry:存儲、處理及檢索鏡像檔案的中繼資料,中繼資料包含大小及類型等;
database:存儲鏡像中繼資料,您可以根據您的喜好選擇資料庫。大多數部署使用MySQL、SQLite。
Storage repository for image files:image service支援多種類型的映像檔案存儲機制,包括使用普通的檔案系統、對象存儲、RADOS塊裝置、HTTP。注意,一些存儲庫隻支援隻讀使用。
Metadata definition service:一種針對廠商、管理、服務和使用者的通用API,以便讓其可以定義自己的中繼資料。
在controller節點配置。
準備工作:
1、需要建立一個資料庫,存儲憑據和API endpoints
<code>MariaDB [(none)]> create database glance;</code>
<code>MariaDB [(none)]> grant all privileges on glance.* to </code><code>'glance'</code><code>@</code><code>'localhost'</code> <code>identified by </code><code>'123456'</code><code>;</code>
<code>MariaDB [(none)]> grant all privileges on glance.* to </code><code>'glance'</code><code>@</code><code>'%'</code> <code>identified by </code><code>'123456'</code><code>;</code>
2、執行admin環境以便建立使用者
2、建立服務憑證,完成以下步驟:
建立glance使用者
<code>[root@controller ~]</code><code># openstack user create --domain default --password-prompt glance</code>
<a href="https://s5.51cto.com/wyfs02/M00/A5/BE/wKioL1nCfo_hLQ-uAABKoIgvoRA107.png-wh_500x0-wm_3-wmp_4-s_276727130.png" target="_blank"></a>
添加使用者glance到admin角色和service項目
<code>[root@controller ~]</code><code># openstack project create --domain default --description "Service Project" service</code>
<code>[root@controller ~]</code><code># openstack project list</code>
<a href="https://s4.51cto.com/wyfs02/M02/A5/BE/wKioL1nCfs6giXo_AABTFH7u6Xg593.png-wh_500x0-wm_3-wmp_4-s_571619106.png" target="_blank"></a>
<code>[root@controller ~]</code><code># openstack role add --project service --user glance admin</code>
該指令沒有任何輸出
建立glance服務項
<code>[root@controller ~]</code><code># openstack service create --name glance --description "OpenStack Image" image</code>
<a href="https://s5.51cto.com/wyfs02/M02/07/0D/wKiom1nCfzLzdBEjAAAsXMw6UkM799.png-wh_500x0-wm_3-wmp_4-s_3605848322.png" target="_blank"></a>
2、建立鏡像服務的API endpoints:
<code>[root@controller ~]</code><code># openstack endpoint create --region RegionOne image public http://controller:9292</code>
<a href="https://s3.51cto.com/wyfs02/M02/A5/BE/wKioL1nCfxSx7madAABbEvls4y4065.png-wh_500x0-wm_3-wmp_4-s_4012807761.png" target="_blank"></a>
安裝并配置glance
1、安裝包
<code>[root@controller /]</code><code># yum install openstack-glance -y</code>
1、編輯/etc/glance/glance-api.conf并完成以下配置
<code>[root@controller /]</code><code># vim /etc/glance/glance-api.conf</code>
<a href="https://s4.51cto.com/wyfs02/M00/A5/BE/wKioL1nCfzuQgh60AAAfkTKRtNQ464.png-wh_500x0-wm_3-wmp_4-s_1654467337.png" target="_blank"></a>
在[keystone_authtoken]和[paste_deploy]部配置設定置如下,以便身份驗證通路
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123456
<a href="https://s4.51cto.com/wyfs02/M02/07/0D/wKiom1nCf4fAQK2KAAAj52EkyWM586.png-wh_500x0-wm_3-wmp_4-s_346516068.png" target="_blank"></a>
[paste_deploy]
flavor = keystone
在[glance_store]部配置設定置本地檔案系統存儲和位置
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
1、編輯/etc/glance/glance-registry.conf配置檔案完成以下配置:
在[database]部配置設定置資料庫的通路
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
<a href="https://s1.51cto.com/wyfs02/M01/07/0D/wKiom1nCf8zj6RK8AAAi9St8ECI577.png-wh_500x0-wm_3-wmp_4-s_126583345.png" target="_blank"></a>
4産生glance服務資料庫
<code>[root@controller /]</code><code># su -s /bin/sh -c "glance-manage db_sync" glance</code>
<a href="https://s5.51cto.com/wyfs02/M02/07/0D/wKiom1nCf-LjnbHbAAETtZNboXw966.png-wh_500x0-wm_3-wmp_4-s_2429630351.png" target="_blank"></a>
1、啟動服務并設定開機啟動
<code>[root@controller /]</code><code># systemctl enable openstack-glance-api.service openstack-glance-registry.service</code>
<code>[root@controller /]</code><code># systemctl start openstack-glance-api.service openstack-glance-registry.service</code>
1需要admin憑證在指令行下操作:
<code>[root@controller /]</code><code># source admin-openrc</code>
1、下載下傳源鏡像
<code>[root@controller /]</code><code># wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img</code>
1、上傳鏡像到鏡像服務
<code>{root@controller ~]</code><code># openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public</code>
<a href="https://s3.51cto.com/wyfs02/M01/07/0E/wKiom1nCgKvwFLQXAADDojtvaNs984.png-wh_500x0-wm_3-wmp_4-s_2654734542.png" target="_blank"></a>
1、确認鏡像上傳并驗證屬性
<code>[root@controller ~]</code><code># openstack image list</code>
<a href="https://s4.51cto.com/wyfs02/M00/A5/BE/wKioL1nCgM_QAdB2AABaF22uDgc005.png-wh_500x0-wm_3-wmp_4-s_532353036.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/A5/BE/wKioL1nCgQHj9SwXAABRkYJAfJc414.png-wh_500x0-wm_3-wmp_4-s_2402985233.png" target="_blank"></a>
本文轉自柴鑫旺 51CTO部落格,原文連結:http://blog.51cto.com/chaixinwang/1967323,如需轉載請自行聯系原作者