天天看點

身份認證keystone部署一、環境二、部署思路三、實際部署操作

目錄

  • 一、環境
  • 二、部署思路
    • 使用手動部署的模式搭建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部署一、環境二、部署思路三、實際部署操作

安裝、配置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
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作
#通過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
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作
身份認證keystone部署一、環境二、部署思路三、實際部署操作

初始化認證服務資料庫

su -s /bin/sh -c "keystone-manage db_sync" keystone
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作

初始化fernet 密鑰存儲庫

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
           
身份認證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		#指定一個區域名稱
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作

配置Apache HTTP伺服器

echo "ServerName controller" >> /etc/httpd/conf/httpd.conf
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作

建立配置檔案

安裝完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
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作

配置管理者賬戶的環境變量

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
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作

建立OpenStack 域、項目、使用者和角色

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

#檢視openstack 項目清單
openstack project list
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作
身份認證keystone部署一、環境二、部署思路三、實際部署操作
#角色建立
openstack role create user

#檢視openstack 角色清單
openstack role list

# admin為管理者
# member為 租戶
# user:使用者
           
身份認證keystone部署一、環境二、部署思路三、實際部署操作

驗證

檢視是否可以不指定密碼就可以擷取到token資訊(驗證認證服務)

身份認證keystone部署一、環境二、部署思路三、實際部署操作