↓↓↓↓↓↓↓↓視頻已上線B站↓↓↓↓↓↓↓↓
》》》》》》傳送門
1.創建keystone數據庫
2.創建隨機密碼作為管理員令牌
3.安裝openstack-keystone,httpd,mod_wsgi服務並配置
4.初始化Keystone身份認證數據庫連接並驗證
5.初始化Fernet keys
6.配置Apache服務(Http)並啟動
7.創建服務實體和API端點
8.驗證
9.創建OpenStack 客戶端環境腳本
1.創建keystone數據庫
#mysql -uroot -p000000 #此處六個零是之前運行``mysql_secure_installation``腳本,為root用戶設置的密碼,請根據自己的實際情況實際修改
>create database keystone;
> grant all privileges on keystone.* to 'keystone'@'localhost' identified by '000000';
> grant all privileges on keystone.* to 'keystone'@'%' identified by '000000';
#注解:
第一條數據庫命令是創建keystone數據庫
第二條是創建keystone用戶並授予所有權限本地登陸並設置密碼
第三條是創建keystone用戶並授予所有權限任意地點登陸並設置密碼
2.創建隨機密碼作為管理員令牌
[root@controller ~]# openssl rand -hex 10
#生成偽隨機字節輸出結果為16位進制數據並指定隨即長度10
3.安裝openstack-keystone,httpd,mod_wsgi服務並配置
#yum -y install openstack-keystone httpd mod_wsgi
編輯keystone.conf配置文件
#vi /etc/keystone/keystone.conf
在[DEFAULT]下添加
admin_token = ADMIN_TOKEN #此處的ADMIN_TOKEN為上一步生成的隨機數,請用隨機數替換 ADMIN_TOKEN
在[database]下添加
connection = mysql+pymysql://keystone:000000@controller/keystone #配置數據庫連接
在[token]下添加
provider = fernet #配置Fernet UUID令牌提供者
4.初始化Keystone身份認證數據庫連接並驗證
[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
[root@controller ~]# mysql -uroot -p000000 -e 'show tables from keystone;' #檢查數據庫是否同步
5.初始化Fernet keys
#keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
6.配置Apache服務(Http)並啟動
編輯配置文件httpd.conf
#vi /etc/httpd/conf/httpd.conf
修改
ServerName controller
復制文件到/etc/httpd/conf.d/下
#cp -p /opt/mitaka/wsgi-keystone.conf /etc/httpd/conf.d/
啟動並設置開機啟動
#systemctl start httpd
#systemctl enable httpd
7.創建服務實體和API端點
1.配置認證令牌
查看admin_token 使用此命令
[root@controller ~]# head /etc/keystone/keystone.conf |grep admin_token
#export OS_TOKEN=ADMIN_TOKEN #配置認證令牌,此處ADMIN_TOKEN為之前生成的隨機數,請自行替換,
#export OS_URL=http://controller:35357/v3 #配置端點URL
#export OS_IDENTITY_API_VERSION=3 #配置認證 API 版本
2.創建服務實體和API端點
創建服務實體和身份認證服務:
#openstack service create --name keystone --description "OpenStack Identity" identity
創建認證服務的 API 端點:
#openstack endpoint create --region RegionOne identity public http://controller:5000/v3
#openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
#openstack endpoint create --region RegionOne identity admin http://controller:35357/v3
3.創建域,項目,用戶以及角色
創建域 default #這里的default只是名字,可自行修改,但是要與后面相對應
[root@controller ~]# openstack domain create --description "Default Domain" default
創建admin項目
[root@controller ~]# openstack project create --domain default --description "Admin Project" admin
創建admin用戶
[root@controller ~]# openstack user create --domain default --password 000000 admin #此處六個零為admin用戶的密碼
創建admin角色
[root@controller ~]# openstack role create admin
添加`admin` 角色到 admin 項目和用戶上:
[root@controller ~]# openstack role add --project admin --user admin admin
4.創建service項目,以后添加的每個服務都會添加到service項目
[root@controller ~]# openstack project create --domain default --description "Service Project" service
5.創建demo項目,無特殊權限的項目,類似於普通用戶組
[root@controller ~]# openstack project create --domain default --description "Demo Project" demo
創建demo用戶:
[root@controller ~]# openstack user create --domain default --password 000000 demo
創建user角色
[root@controller ~]# openstack role create user
添加 user角色到 demo 項目和用戶:
[root@controller ~]# openstack role add --project demo --user demo user
8.驗證
重置OS_TOKEN和OS_URL 環境變量:
[root@controller ~]# unset OS_TOKEN OS_URL
作為 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
9.創建OpenStack 客戶端環境腳本
在/root/目錄下創建腳本
#vi /root/admin-openrc
添加如下內容
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=000000 #此處的ADMIN_PASS為之前設置的admin用戶密碼000000
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
#vi /root/demo-openrc
添加如下內容
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=000000 #這里的DEMO_PASS為之前的demo用戶密碼000000
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
驗證
# . /root/admin-openrc
#openstack token issue