全部openstack服務的安裝指南連接:https://docs.openstack.org/pike/install/mysql
最小化部署,須要按照下面指定的順序安裝如下服務:sql
Identity service – keystone installation for Pike數據庫
Image service – glance installation for Pikeapache
Compute service – nova installation for Pikebootstrap
Networking service – neutron installation for Pikevim
在安裝了最小部署服務以後,咱們建議安裝如下組件:後端
Dashboard – horizon installation for Pikeapi
Block Storage service – cinder installation for Pike安全
Keystone安裝指南bash
OpenStack認證管理服務提供一個單點集成身份驗證、受權和服務目錄服務。其餘OpenStack服務使用認證服務做爲一個通用統一的API。此外,服務提供用戶的信息,但不包括在OpenStack(如LDAP服務)能夠集成到一個現有的基礎設施。爲了從認證服務中受益,其餘OpenStack服務須要與身份認證服務協同工做。當一個OpenStack服務從用戶那裏接收一個請求,它檢查與身份認證服務用戶是否被受權請求。身份服務包含這些組件:
Server
一個集中的服務器使用RESTful接口提供身份驗證和受權服務。
Drivers
驅動程序或服務後端集成到集中式服務器。他們是用於訪問的身份信息存儲庫中的外部OpenStack,而且可能已經存在在OpenStack部署的基礎設施(例如,SQL數據庫或LDAP服務器)。
Modules
中間件模塊運行在OpenStack組件的地址空間使用身份認證服務。這些模塊攔截服務請求,提取用戶憑證,並將它們發送到中央服務器進行受權。中間件模塊和OpenStack組件之間的集成使用Python Web Server Gateway Interface。
一、安裝前要先建立一個數據庫keystone
[root@controller /]# mysql -u root -p
建立數據庫
MariaDB [(none)]> create database keystone; Query OK, 1 row affected (0.00 sec)
爲keystone用戶賦予ALL權限,對keystone數據庫
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.00 sec)
一、安裝數據包
[root@controller /]# yum install openstack-keystone httpd mod_wsgi -y
一、編輯配置文件/etc/keystone/keystone.conf
在[token]設置
[token]
# ...
一、生成認證服務的數據庫,要以keystone用戶身份來執行
[root@controller /]# su -s /bin/sh -c "keystone-manage db_sync" keystone
一、初始化fernet
[root@controller /]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone [root@controller /]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
一、引導身份驗證服務
root@controller ~]# 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/
一、配置apache服務
設置主配置文件/etc/httpd/conf/httpd.conf,將ServerName設定爲controller節點名
[root@controller ~]# vim /etc/httpd/conf/httpd.conf
建立/usr/share/keystone/wsgi-keystone.conf的連接文件
[root@controller ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
設置apache開機啓動並馬上啓動
[root@controller conf.d]# systemctl enable httpd.service [root@controller conf.d]# systemctl start httpd.service
配置管理員帳號的令牌文件:
root@controller ~]# cat admin_keystone export OS_USERNAME=admin export OS_PASSWORD=123456 export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3
執行這個令牌文件:
[root@controller ~]# source admin_keystone
檢查操做:
在安裝其餘服務以前驗證身份服務的操做是否正確,在控制器節點上執行這些命令。
一、出於安全考慮,禁用臨時身份驗證令牌機制:
編輯/etc/keystone/keystone-paste.ini 配置文件,在[pipeline:public_api], [pipeline:admin_api], 和[pipeline:api_v3]中移除admin_token_auth
一、取消OS_AUTH_URL 和OS_PASSWORD環境變量
[root@controller ~]# unset OS_AUTH_URL OS_PASSWORD
一、做爲admin帳號去請求一個認證令牌
[root@controller ~]# 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
glance安裝
openstack p_w_picpath服務可用於發現、註冊及檢索虛擬機鏡像(p_w_picpath),它提供了一個RESTful的API,可以讓用戶查詢VM鏡像的元數據及經過http請求獲取映像。VM鏡像文件能夠存儲在各類存儲中,如普通的文件系統、對象存儲系統(openstack object storage),S3存儲等。
openstack鏡像服務是IaaS架構的中心,它接受來自終端用戶或OpenStack計算組件的磁盤或服務器映像的API請求和元數據定義。它還支持在各類存儲庫類型(包括OpenStack對象存儲)中存儲磁盤或服務器映像。
p_w_picpath service由如下幾個組件構成:
glance-api:接受鏡像查找、檢索和存儲的API調用
glance-registry:存儲、處理及檢索鏡像文件的元數據,元數據包含大小及類型等;
database:存儲鏡像元數據,您能夠根據您的喜愛選擇數據庫。大多數部署使用MySQL、SQLite。
Storage repository for p_w_picpath files:p_w_picpath service支持多種類型的映像文件存儲機制,包括使用普通的文件系統、對象存儲、RADOS塊設備、HTTP。注意,一些存儲庫只支持只讀使用。
Metadata definition service:一種針對廠商、管理、服務和用戶的通用API,以便讓其能夠定義本身的元數據。
在controller節點配置。
準備工做:
1、須要建立一個數據庫,存儲憑據和API endpoints
MariaDB [(none)]> create database glance; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on glance.* to 'glance'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on glance.* to 'glance'@'%' identified by '123456'; Query OK, 0 rows affected (0.00 sec)
二、執行admin環境以便建立用戶
[root@controller ~]# source admin_keystone
二、建立服務憑證,完成如下步驟:
建立glance用戶
[root@controller ~]# openstack user create --domain default --password-prompt glance
添加用戶glance到admin角色和service項目
[root@controller ~]# openstack project create --domain default --description "Service Project" service
[root@controller ~]# openstack project list
[root@controller ~]# openstack role add --project service --user glance admin
該命令沒有任何輸出
建立glance服務項
[root@controller ~]# openstack service create --name glance --description "OpenStack Image" p_w_picpath
二、建立鏡像服務的API endpoints:
[root@controller ~]# openstack endpoint create --region RegionOne p_w_picpath public http://controller:9292
安裝並配置glance
一、安裝包
[root@controller /]# yum install openstack-glance -y
一、編輯/etc/glance/glance-api.conf並完成如下配置
[root@controller /]# vim /etc/glance/glance-api.conf
在[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
[paste_deploy]
# ...
flavor = keystone
在[glance_store]部分配置本地文件系統存儲和位置
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/p_w_picpaths/
一、編輯/etc/glance/glance-registry.conf配置文件完成如下配置:
在[database]部分配置數據庫的訪問
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
# ...
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
[paste_deploy]
flavor = keystone
4產生glance服務數據庫
[root@controller /]# su -s /bin/sh -c "glance-manage db_sync" glance
一、啓動服務並設置開機啓動
[root@controller /]# systemctl enable openstack-glance-api.service openstack-glance-registry.service [root@controller /]# systemctl start openstack-glance-api.service openstack-glance-registry.service
檢查操做:
1須要admin憑證在命令行下操做:
[root@controller /]# source admin-openrc
一、下載源鏡像
[root@controller /]# wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
一、上傳鏡像到鏡像服務
{root@controller ~]# openstack p_w_picpath create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public
一、確認鏡像上傳並驗證屬性
[root@controller ~]# openstack p_w_picpath list