#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用戶並授予全部權限任意地點登錄並設置密碼
[root@controller ~]# openssl rand -hex 10 #生成僞隨機字節輸出結果爲16位進制數據並指定隨即長度10
#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令牌提供者
[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone [root@controller ~]# mysql -uroot -p000000 -e 'show tables from keystone;' #檢查數據庫是否同步
#keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
編輯配置文件httpd.conf #vi /etc/httpd/conf/httpd.conf 修改 ServerName controller
#cp -p /opt/mitaka/wsgi-keystone.conf /etc/httpd/conf.d/
啓動並設置開機啓動 #systemctl start httpd #systemctl enable httpd
查看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 版本
建立服務實體和身份認證服務: #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
建立域 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
[root@controller ~]# openstack project create --domain default --description "Service Project" service
[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
重置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
在/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