您好,登錄后才能下訂單哦!
注意:在開始安裝具體的OpenStack服務之前,請先備份一次我們已經安裝好的兩臺vmware-workstation虛擬機。
備份虛擬機
關閉2臺虛擬機,然后在windows資源管理器中找到安裝好的虛擬機文件目錄(這里是d:\OpenStack-Train),復制一份到其他盤,作為備份。
備份虛擬機文件夾
做好的備份
備份好之后,開啟控制節點的虛擬機(暫時不開計算節點的虛擬機,以防止服務安裝進錯誤的主機)
在控制節點上進行如下操作以安裝keystone
建立keystone數據庫
mysql -u root -p
MariaDB [(none)]>?CREATE DATABASE keystone;
數據庫授權
MariaDB [(none)]>?GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]>?GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
安裝keystone軟件包
yum install openstack-keystone httpd mod_wsgi -y
修改配置文件
cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak
grep -Ev '^$|#' /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf
vim /etc/keystone/keystone.conf
在[database]和[token]區域加入下面2行:
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@ct/keystone
[token]
provider = fernet
填充數據庫
su -s /bin/sh -c "keystone-manage db_sync" keystone
上述命令執行后,可以到mysql數據庫中查看keystone數據庫中是否包含有表,如果有,則表示填充數據庫成功
初始化Fernet密鑰存儲庫
這是新版本的OpenStack的新功能,在Train版本下,keystone不再使用簡單的字符串作為臨時token,而是使用下面創建的fernet的用戶來運行keystone。同時,keystone也不再對管理員用戶和普通用戶的服務端點區分使用不同的端口5000和35357,而是只使用5000端口不再使用35357端口。
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
keystone-manage bootstrap --bootstrap-password ADMIN_PASS --bootstrap-admin-url http://ct:5000/v3/ --bootstrap-internal-url http://ct:5000/v3/ --bootstrap-public-url http://ct:5000/v3/ --bootstrap-region-id RegionOne?(共5個參數)
修改apache配置
vim /etc/httpd/conf/httpd.conf
取消注釋并修改:
ServerName ct
創建wsgi配置文件軟鏈接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
啟動和開機自啟動apache
systemctl enable httpd.service
systemctl?restart httpd.service
初始化環境變量
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://ct:5000/v3
export OS_IDENTITY_API_VERSION=3
創建service項目及角色
在上面的初始化Fernet密鑰存儲時候已經創建了default域、admin項目和admin用戶。(下面的3條命令必須要進行上面的初始化環境變量之后才能執行成功)
創建服務所使用的項目(注意:這一步和官方文檔所述內容不一樣)
openstack project create --domain default --description "Service Project" service
創建user角色
openstack role create user
暫時不創建普通用戶的項目和用戶
驗證keystone服務
unset OS_AUTH_URL OS_PASSWORD
openstack --os-auth-url http://ct:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name admin --os-username admin token issue
密碼為:ADMIN_PASS
能獲取到token說明keystone安裝成功。
創建客戶端環境變量腳本
vim 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=ADMIN_PASS
export OS_AUTH_URL=http://ct:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
使用腳本
. admin-openrc(注意前面的“.”,當然也可以使用source?admin-openrc命令)
openstack token issue
同樣能獲取到token。
進一步檢查,使用命令:curl?http://ct:5000,直接訪問keystone的API地址,能夠返回json表示安裝成功。
至此,keystone服務安裝成功,下節安裝鏡像服務glance。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。