openstack部署(一)

環境準備html


一、首先規劃網絡python

外部網絡 mysql

公共網絡,外部或Internet能夠訪問的網絡linux

內部網絡 sql

私有網絡,僅內部訪問的網絡mongodb

管理網絡,用於OpenStack組件以及MySQL DB Server, RabbitMQ messaging server之間的通訊數據庫


二、openstack部署 - 硬件要求apache

實驗環境:至少兩臺機器。json

控制節點:vim

Controller Node: 1 processor, 2 GB memory, and 5 GB storage

計算節點:

Compute Node: 1 processor, 2 GB memory, and 10 GB storage

有條件的能夠單獨一臺

網絡節點:Network Node: 1 processor, 512MB memory, and 5 GB storage

我這裏把網絡配置在控制節點

注:安裝虛擬機要記得開啓cpu虛擬化,系統Centos 7,2塊網卡(NAT和僅主機)

NAT提供網絡;僅主機用於遠程管理


三、openstack部署 - 前期準備

  • 臨時關閉selinux

     setenforce 0

  • 關閉iptables

     systemctl stop firewalld    #中止服務

     systemctl disable firewalld  #取消開機啓動

  • 關閉NetworkManager 

     systemctl stop NetworkManager 

     systemctl disable NetworkManager

四、網卡配置

控制節點

NAT網卡

TYPE=Ethernet
BOOTPROTO=static   #改成static靜態獲取ip
DEFROUTE=yes
PEERDNS=yes      #yes會修改/etc/resolv.conf配置的DNS,no不會
PEERROUTES=yes
NAME=eno16777736
UUID=634a4cf5-5b85-422d-88b7-cb7df0d35841
DEVICE=eno16777736
ONBOOT=yes      #改成yes
IPADDR0=192.168.100.20
PREFIXP0=24
GATEWAY0=192.168.100.1
DNS1=8.8.8.8
DNS2=8.8.4.4

僅主機網卡

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR0=192.168.10.20
PREFIXP0=24
GATEWAY0=192.168.10.1


計算節點

NAT網卡

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno16777736
UUID=634a4cf5-5b85-422d-88b7-cb7df0d35841
DEVICE=eno16777736
ONBOOT=yes
IPADDR0=192.168.100.21
PREFIXP0=24
GATEWAY0=192.168.100.1
DNS1=8.8.8.8
DNS2=8.8.4.4

僅主機網卡

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR0=192.168.10.21
PREFIXP0=24
GATEWAY0=192.168.10.1

配置完後重啓網絡
systemctl restart network


五、兩臺機器,設置hostname

hostnamectl set-hostname controller

hostnamectl set-hostname compute

vim /etc/hostname

編輯/etc/hosts: 

192.168.10.20  controller  #控制節點

192.168.10.21  compute    #計算節點


六、同步時間:

controller上:

yum install -y chrony 

vim /etc/chrony.conf

增長或更改:allow 192.168.100.0/24

systemctl enable chronyd.service  #設置開機啓動

systemctl start chronyd.service  #啓動服務,也支持stop ,restart

compute上:

yum install -y chrony

vim /etc/chrony.conf

增長或更改: server controller iburst

systemctl enable chronyd.service

systemctl start chronyd.service

查看時間同步源:# chronyc sources -v

[root@compute ~]# chronyc sources -v
210 Number of sources = 5
  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^x 202.118.1.130                 2  10   377   959  +54386s[ +443us] +/-   28ms
^- news.neu.edu.cn               2   6   377    13  +6006us[-54386s] +/-   28ms
^- controller                    3   6   375    16  +6111us[+6111us] +/-   30ms
^+ time6.aliyun.com              2   6   377    19    +62ms[  +62ms] +/-   87ms
^* ntp3.aliyun.com               2   6
  377    17  +1295us[+1146us] +/-   37ms
  
  此處顯示爲5個源,若是開啓外網的話可能時間不一樣步,咱們能夠只配置本地時間源controller其餘註釋掉




部署階段

配置yum源和更新

一、安裝openstack的yum源

兩個機器上都操做

yum install -y centos-release-openstack-liberty

2.升級全部的包(兩個機器上都操做)

yum upgrade   ####結束後重啓系統reboot

三、安裝openstack 客戶端和openstack-selinux

yum install -y python-openstackclient   openstack-selinux


controller應用部署

一、sql服務安裝(MariaDB)【控制節點】

MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可。開發這個分支的緣由之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,所以社區採用分支的方式來避開這個風險。


yum install  -y mariadb mariadb-server MySQL-python

  • 編輯配置文件

 vi /etc/my.cnf.d/mariadb_openstack.cnf  //加入下面內容

 [mysqld]
 bind-address = 192.168.100.20  #設置 bind-address 爲控制節點管理網絡ip地址,使能經過管理網絡訪問其它節點
 default-storage-engine = innodb
 innodb_file_per_table
 collation-server = utf8_general_ci
 init-connect = 'SET NAMES utf8'
 character-set-server = utf8
 啓動mariadb:systemctl enable mariadb.service  #加入開機啓動
 systemctl start mariadb.service           #啓動服務


  • 安全配置,設置root密碼

 命令行執行:mysql_secure_installation

 設置root密碼爲:root


二、安裝nosql(mongodb服務)

nosql數據庫被Telemetry service用到,(Telemetry 是redhat公司主導開發的一個openstack組件,用來作監控的)

在這裏咱們安裝的是mongodb,不是必須的。

yum install -y  mongodb-server mongodb

編輯配置文件  vi  /etc/mongod.conf  //更改以下配置

bind_ip = 192.168.100.20
smallfiles = true


啓動服務

systemctl enable mongod.service

systemctl start mongod.service


三、安裝消息隊列服務【控制節點】

rabbitmq消息隊列服務在openstack中起到很是關鍵的做用,它比如是一個交通樞紐,各個組件之間的通訊由它來完成。

yum install -y  rabbitmq-server

  • 啓動rabbitmq-server服務

systemctl enable rabbitmq-server

systemctl start rabbitmq-server

  • 添加openstack用戶

rabbitmqctl add_user openstack   openstackpasswd

// 密碼 openstackpasswd用戶名爲openstack

  • 爲openstack用戶受權

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

[root@controller ~]# rabbitmqctl add_user openstack   openstackpasswd
Creating user "openstack" ...
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
[root@controller ~]# 
###容許openstack用戶能夠配置,能夠寫,能夠讀


rabbitmqctl命令使用:

rabbitmqctl --help  #查看命令幫助
     add_user <username> <password>
    delete_user <username>
    change_password <username> <newpassword>
    clear_password <username>      
    list_users


四、增長identity - keystone【控制節點】

Keystone V3 簡介

Keystone 中主要涉及到以下幾個概念:User、Tenant、Role、Token。下面對這幾個概念進行簡要說明。

  • User:顧名思義就是使用服務的用戶,能夠是人、服務或者是系統,只要是使用了 Openstack 服務的對象均可以稱爲用戶。

  • Tenant:租戶,能夠理解爲一我的、項目或者組織擁有的資源的合集。在一個租戶中能夠擁有不少個用戶,這些用戶能夠根據權限的劃分使用租戶中的資源。

  • Role:角色,用於分配操做的權限。角色能夠被指定給用戶,使得該用戶得到角色對應的操做權限。

  • Token:指的是一串比特值或者字符串,用來做爲訪問資源的記號。Token 中含有可訪問資源的範圍和有效時間。

 Keystone 和其它 OpenStack 服務之間是如何交互和協同工做的?首先用戶向 Keystone 提供本身的身份驗證信息,如用戶名和密碼。Keystone 會從數據庫中讀取數據對其驗證,如驗證經過,會向用戶返回一個 token,此後用戶全部的請求都會使用該 token 進行身份驗證。如用戶向 Nova 申請虛擬機服務,nova 會將用戶提供的 token 發給 Keystone 進行驗證,Keystone 會根據 token 判斷用戶是否擁有進行此項操做的權限,若驗證經過那麼 nova 會向其提供相對應的服務。其它組件和 Keystone 的交互也是如此

具體介紹:http://www.ibm.com/developerworks/cn/cloud/library/1506_yuwz_keystonev3/index.html

登錄mysql,建立數據庫

mysql -uroot -proot
>create database keystone;
>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'    IDENTIFIED BY ‘keystone';
>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'    IDENTIFIED BY 'keystone';

說明,建立一個keystone庫,而且受權給keystone用戶全部權限,密碼爲keystone

安裝相關的包

yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached

啓動memcached服務

systemctl enable memcached.service

systemctl start memcached.service



編輯keystone配置文件

      //修改或增長配置以下

admin_token密碼爲123456

[DEFAULT]
admin_token = 123456
verbose = true
[database]
connection = mysql://keystone:keystone@controller/keystone
[memcache]
servers = localhost:11211
[token]
provider = uuid
driver = memcache
[revoke]
driver = sql



導入keystone相關的數據

su -s /bin/sh -c "keystone-managedb_sync" keystone

這裏會有個提示  No handlers could be found for logger"oslo_config.cfg"  忽略它,不影響。

注意:這個報錯後面導入數據會出現屢次

檢查有沒有正常導入數據:

 [root@controller ~]# mysql -ukeystone -pkeystone -hcontroller -t keystone  -e  "show tables"

  

看是否有列出表來,若是是空,說明沒有成功導入數據

 

配置apache

先編輯配置文件/etc/httpd/conf/httpd.conf

增長或更改

ServerName controller


配置apache

先編輯配置文件 /etc/httpd/conf/httpd.conf

增長或更改 

ServerName controller


編輯配置文件  vi /etc/httpd/conf.d/wsgi-keystone.conf  內容以下

Listen 5000
Listen 35357
<VirtualHost *:5000>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
WSGIScriptAlias / /usr/bin/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
<VirtualHost *:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>


啓動apache

systemctl enable httpd.service

systemctl start httpd.service



設置環境變量:

vim /etc/profile

export OS_TOKEN=123456   #配置token
export OS_URL=http://controller:35357/v2 #配置 endpoint URL:
export OS_IDENTITY_API_VERSION=3
source  /etc/profile


而後建立服務實例

openstack service create   --name keystone --description "OpenStack Identity" identity

[root@controller ~]# openstack service create   --name keystone --description "OpenStack Identity" identity
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Identity               |
| enabled     | True                             |
| id          | c43988e2db85465ab49c065dac5ee3c8 |
| name        | keystone                         |
| type        | identity                         |
+-------------+----------------------------------+
[root@controller ~]#

建立端點

openstack endpoint create --region RegionOne   identity public http://controller:5000/v2.0

openstack endpoint create --region RegionOne   identity internal http://controller:5000/v2.0

openstack endpoint create --region RegionOne   identity admin http://controller:35357/v2.0

[root@controller ~]# openstack endpoint create --region RegionOne   identity public http://controller:5000/v2.0
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 2347aed007ca49fe845e4ee7940689b4 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | fc4f17f8b9604286903bd324b40b8016 |
| service_name | keystone                         |
| service_type | identity                         |
| url          | http://controller:5000/v2.0      |
+--------------+----------------------------------+
[root@controller ~]#
[root@controller ~]# openstack endpoint create --region RegionOne   identity internal http://controller:5000/v2.0
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | e049b49ff24646ee95bfcbe8addcfbff |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | fc4f17f8b9604286903bd324b40b8016 |
| service_name | keystone                         |
| service_type | identity                         |
| url          | http://controller:5000/v2.0      |
+--------------+----------------------------------+
[root@controller ~]#
[root@controller ~]# openstack endpoint create --region RegionOne   identity admin http://controller:35357/v2.0
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | ef867ab9497d4aeab1c0c0b088fbf901 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | fc4f17f8b9604286903bd324b40b8016 |
| service_name | keystone                         |
| service_type | identity                         |
| url          | http://controller:35357/v2.0     |
+--------------+----------------------------------+
[root@controller ~]#


建立租戶(tenants)、用戶以及角色

建立admin 租戶

openstack project create --domain default   --description "Admin Project" admin

[root@controller ~]# openstack project create --domain default   --description "Admin Project" admin
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Admin Project                    |
| domain_id   | default                          |
| enabled     | True                             |
| id          | ed1396bac8b14d969693e7f019dd5230 |
| is_domain   | False                            |
| name        | admin                            |
| parent_id   | None                             |
+-------------+----------------------------------+
[root@controller ~]#

建立admin用戶 (密碼爲adminpasswd)

openstack user create --domain default   --password-prompt admin

[root@controller ~]# openstack user create --domain default   --password-prompt admin
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | 28d7c214bffb4e37ad10d734d156d067 |
| name      | admin                            |
+-----------+----------------------------------+
[root@controller ~]#

建立admin角色

openstack role create admin

[root@controller ~]# openstack role create admin
+-------+----------------------------------+
| Field | Value                            |
+-------+----------------------------------+
| id    | d1297a61aba6462e9a6feea1542fcef3 |
| name  | admin                            |
+-------+----------------------------------+
[root@controller ~]#

添加admin角色到admin租戶和用戶

openstack role add --project admin --user admin admin


下面咱們再來建立一個service 租戶

openstack project create --domain default   --description "Service Project" service

[root@controller ~]# openstack project create --domain default   --description "Service Project" service
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Service Project                  |
| domain_id   | default                          |
| enabled     | True                             |
| id          | e01123d140d248bfbbc21aa844453079 |
| is_domain   | False                            |
| name        | service                          |
| parent_id   | None                             |
+-------------+----------------------------------+
[root@controller ~]#

建立demo租戶

openstackproject create --domain default  --description "Demo Project" demo

[root@controller~]# openstack project create --domain default  --description "Demo Project" demo
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |Demo Project                     |
| domain_id   | default                          |
| enabled     | True                             |
| id          | 178c99209e43429b90fb4b638e29450d |
| is_domain   | False                            |
| name        | demo                             |
| parent_id   | None                             |
+-------------+----------------------------------+
[root@controller ~]#

建立demo用戶 (密碼demopasswd)

openstack user create --domain default   --password-prompt demo

[root@controller ~]# openstack user create --domain default   --password-prompt demo
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | c29d410611ba4e918d71a4edb64688b6 |
| name      | demo                             |
+-----------+----------------------------------+
[root@controller ~]#

建立角色user

openstack role create user

[root@controller~]# openstack role create user
+-------+----------------------------------+
| Field |Value                            |
+-------+----------------------------------+
| id    | 2f304e27f0fb401a9425cf4644179fb5 |
| name  | user                             |
+-------+----------------------------------+
[root@controller~]#

添加user角色到demo租戶和demo用戶

openstack role add --project demo --user demo user

[root@controller~]# openstack role add --project demo --user demo user


驗證admin用戶和demo用戶是否能正常登錄

首先作一個安全設置:

vim /usr/share/keystone/keystone-dist-paste.ini

搜索admin_token_auth, 從[pipeline:public_api], [pipeline:admin_api]和[pipeline:api_v3]中,把admin_token_auth去掉,例如把

pipeline = sizelimit url_normalize request_id build_auth_context token_auth admin_token_auth json_body ec2_extension user_crud_extension public_service

改成

pipeline = sizelimit url_normalize request_id build_auth_context token_auth json_body ec2_extension user_crud_extension public_service


取消環境變量OS_TOKEN和OS_URL

unset  OS_TOKEN OS_URL

而後再登錄admin和demo用戶

openstack --os-auth-url http://controller:35357/v3   --os-project-domain-id default --os-user-domain-id default   --os-project-name admin --os-username admin --os-auth-type password   token issue

密碼:adminpasswd

#做爲管理員,請求身份驗證令牌
[root@controller ~]# openstack --os-auth-url http://controller:35357/v3   --os-project-domain-id default --os-user-domain-id default   --os-project-name admin --os-username admin --os-auth-type password   token issue
Password: 
+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| expires    | 2016-09-20T20:04:51.066434Z      |
| id         | d433ed7af41c45ba96ab29daa28eb773 |
| project_id | ed1396bac8b14d969693e7f019dd5230 |
| user_id    | 28d7c214bffb4e37ad10d734d156d067 |
+------------+----------------------------------+
[root@controller ~]#
#做爲admin用戶,列出用戶做爲admin覈實admin能夠執行 admin-only CLI 命令
[root@controller ~]# openstack --os-auth-url http://controller:35357/v3   --os-project-domain-id default --os-user-domain-id default   --os-project-name admin --os-username admin --os-auth-type password  project list
Password: 
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 578b3676606a4d818a917bf8cfe46d4c | service |
| 5c007739446b44eebab043e2573021b1 | admin   |
| ab6fd0b354444bf58db83cb998fd96dd | demo    |
+----------------------------------+---------+
#做爲admin用戶,列出用戶覈實認證服務
[root@controller ~]# openstack --os-auth-url http://controller:35357/v3   --os-project-domain-id default --os-user-domain-id default   --os-project-name admin --os-username admin --os-auth-type password  user list
Password: 
+----------------------------------+-------+
| ID                               | Name  |
+----------------------------------+-------+
| 142eddcf802943259efe69a4dbc0160d | admin |
| 7b33d224785141a3a0539f0c89e02be9 | demo  |
+----------------------------------+-------+
#做爲 admin 用戶, 列出角色驗證keystone服務
[root@controller ~]# openstack --os-auth-url http://controller:35357/v3   --os-project-domain-id default --os-user-domain-id default   --os-project-name admin --os-username admin --os-auth-type password  role list
Password: 
+----------------------------------+-------+
| ID                               | Name  |
+----------------------------------+-------+
| 442849323ab940eab00b498e12d12faf | admin |
| 93bee9c6e43b49b7861bd1d46b1b496b | user  |
+----------------------------------+-------+
[root@controller ~]#


openstack --os-auth-urlhttp://controller:5000/v3  --os-project-domain-id default --os-user-domain-id default   --os-project-name demo --os-username demo--os-auth-type password   token issue

密碼:demopasswd

[root@controller ~]# openstack --os-auth-url http://controller:5000/v3   --os-project-domain-id default --os-user-domain-id default   --os-project-name demo --os-username demo --os-auth-type password   token issue
Password: 
+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| expires    | 2016-09-20T20:06:35.853825Z      |
| id         | 6ce859278e6f4a86a4b4e45043d7d323 |
| project_id | 178c99209e43429b90fb4b638e29450d |
| user_id    | c29d410611ba4e918d71a4edb64688b6 |
+------------+----------------------------------+
[root@controller ~]#


驗證操做

建立openstack客戶端腳本1

vim admin-openrc.sh   //內容

export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=adminpasswd
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3


 

執行腳本

source admin-openrc.sh

申請認證令牌

openstack token issue

[root@controller ~]# source admin-openrc.sh 
[root@controller ~]# openstack token issue
+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| expires    | 2016-09-24T13:26:54.555394Z      |
| id         | 982acc74994e46af8f9cc07520467145 |
| project_id | 5c007739446b44eebab043e2573021b1 |
| user_id    | 142eddcf802943259efe69a4dbc0160d |
+------------+----------------------------------+
[root@controller ~]#

建立openstack客戶端腳本2

vim demo-openrc.sh  //內容

export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=demo
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demopasswd
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3


執行腳本

source demo-openrc.sh

申請認證令牌

openstack token issue

[root@controller ~]# source demo-openrc.sh 
[root@controller ~]# openstack token issue
+------------+----------------------------------+
| Field      | Value                            |
+------------+----------------------------------+
| expires    | 2016-09-24T13:29:47.081067Z      |
| id         | 1ed0c7b57e4c4f18aa1a3603d27b9067 |
| project_id | ab6fd0b354444bf58db83cb998fd96dd |
| user_id    | 7b33d224785141a3a0539f0c89e02be9 |
+------------+----------------------------------+
[root@controller ~]#


增長p_w_picpath - 前期準備

p_w_picpath又叫作glance,是用來管理鏡像的一個組件,咱們用鏡像來安裝操做系統。glance支持讓用戶本身管理自定義鏡像。

建立glance庫和用戶

MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'    IDENTIFIED BY 'glance';
Query OK, 0 rows affected (0.04 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'    IDENTIFIED BY 'glance';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>

執行 admin-openrc.sh 腳本   source admin-openrc.sh

建立glance用戶(密碼爲glancepasswd)


[root@controller ~]# source admin-openrc.sh 
[root@controller ~]# openstack user create --domain default --password-prompt glance
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | 56a44e9333a34d3e8a7479bfa29955d4 |
| name      | glance                           |
+-----------+----------------------------------+
[root@controller ~]#



把admin角色添加到glance用戶和service租戶

openstack role add --project service --user glance admin

建立glance服務實體

openstack service create --name glance   --description "OpenStack Image service" p_w_picpath


[root@controller ~]# openstack role add --project service --user glance admin
[root@controller ~]# openstack service create --name glance   --description "OpenStack Image service" p_w_picpath
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Image service          |
| enabled     | True                             |
| id          | b78d1bdf00924090be3b995e8e1b37e7 |
| name        | glance                           |
| type        | p_w_picpath                            |
+-------------+----------------------------------+
[root@controller ~]#

建立p_w_picpath服務api 端點

openstack endpoint create --region RegionOne   p_w_picpath public http://controller:9292

[root@controller profile.d]# openstack endpoint create --region RegionOne   p_w_picpath public http://controller:9292
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | d12aa53e769442bcb4bfd75ca75bbad0 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | efaa9c047adf4eb58ef2f1576e432a12 |
| service_name | glance                           |
| service_type | p_w_picpath                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller profile.d]#


openstack endpoint create --region RegionOne   p_w_picpath internal http://controller:9292

[root@controller profile.d]# openstack endpoint create --region RegionOne   p_w_picpath internal http://controller:9292
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | d3add6d0b0614e88a4adde93653b8b29 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | efaa9c047adf4eb58ef2f1576e432a12 |
| service_name | glance                           |
| service_type | p_w_picpath                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller profile.d]#


openstack endpoint create --region RegionOne   p_w_picpath admin http://controller:9292

[root@controller profile.d]# openstack endpoint create --region RegionOne   p_w_picpath admin http://controller:9292
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 95a77b2444c74cc0bb135fde881ac453 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | efaa9c047adf4eb58ef2f1576e432a12 |
| service_name | glance                           |
| service_type | p_w_picpath                            |
| url          | http://controller:9292           |
+--------------+----------------------------------+
[root@controller profile.d]#


接openstack部署(二)http://xulianglinux.blog.51cto.com/8001428/1855385 點擊連接跳轉

相關文章
相關標籤/搜索