目錄
- 一、環境
- 二、部署思路
-
- 使用手動部署的模式搭建OpenStack的思路:
- 三、實際部署操作
-
- 建立資料庫執行個體和資料庫使用者
- 安裝、配置keystone、資料庫、apache
- 初始化認證服務資料庫
- 初始化fernet 密鑰存儲庫
- 配置bootstrap身份認證服務
- 配置Apache HTTP伺服器
- 建立配置檔案
- 配置管理者賬戶的環境變量
- 建立OpenStack 域、項目、使用者和角色
- 驗證
一、環境
控制節點ct
CPU | 雙核雙線程-CPU虛拟化開啟 |
---|---|
記憶體 | 8G |
硬碟 | 300G+1024G(CEPH塊存儲) |
雙網卡 | VM1-(區域網路)192.168. 86.11/NAT-192.168.109.12 |
作業系統 | Centos 7.6(1810)-最小化安裝 |
控制節點c1
CPU | 雙核雙線程-CPU虛拟化開啟 |
---|---|
記憶體 | 8G |
硬碟 | 300G+1024G(CEPH塊存儲) |
雙網卡 | VM1-(區域網路)192.168.86.22 /NAT-192.168.109.22- |
作業系統 | Centos 7.6(1810)-最小化安裝 |
控制節點c2
CPU | 雙核雙線程-CPU虛拟化開啟 |
---|---|
記憶體 | 8G |
硬碟 | 300G+1024G(CEPH塊存儲) |
雙網卡 | VM1-(區域網路)192.168.86.33 /NAT-192.168.109.32 |
作業系統 | Centos 7.6(1810)-最小化安裝 |
二、部署思路
使用手動部署的模式搭建OpenStack的思路:
- 1、分子產品部署
- 2、部署keystone子產品的基礎環境(下載下傳依賴包、元件包、第三方工具/插件)
- 3、建立、開啟此子產品的功能(以keystone為例,建立并初始化認證資料庫、修改配置檔案、初始化密鑰-fernet格式、配置身份認證服務)
- 4、驗證
三、實際部署操作
ct-192.168.109.12
建立資料庫執行個體和資料庫使用者
mysql -u root -p
create database keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
flush privileges;
exit

安裝、配置keystone、資料庫、apache
yum -y install openstack-keystone httpd mod_wsgi
cp -a /etc/keystone/keystone.conf{,.bak}
grep -Ev "^$|#" /etc/keystone/keystone.conf.bak > /etc/keystone/keystone.conf
#通過pymysql子產品通路mysql,指定使用者名密碼、資料庫的域名、資料庫名
openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:[email protected]/keystone
openstack-config --set /etc/keystone/keystone.conf token provider fernet
初始化認證服務資料庫
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化fernet 密鑰存儲庫
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
配置bootstrap身份認證服務
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 #指定一個區域名稱
配置Apache HTTP伺服器
echo "ServerName controller" >> /etc/httpd/conf/httpd.conf
建立配置檔案
安裝完mod_wsgi包後,會生成 wsgi-keystone.conf 這個檔案,檔案中配置了虛拟主機及監聽了5000端口,mod_wsgi就是python的網關
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
#開啟apache服務
systemctl enable httpd
systemctl start httpd
配置管理者賬戶的環境變量
cat >> ~/.bashrc << EOF
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
export OS_IMAGE_API_VERSION=2
EOF
source ~/.bashrc
#通過配置環境變量,可以使用openstack指令進行一些操作
openstack user list
建立OpenStack 域、項目、使用者和角色
openstack project create --domain default --description "Service Project" service
#檢視openstack 項目清單
openstack project list
#角色建立
openstack role create user
#檢視openstack 角色清單
openstack role list
# admin為管理者
# member為 租戶
# user:使用者
驗證
檢視是否可以不指定密碼就可以擷取到token資訊(驗證認證服務)