天天看点

身份认证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部署一、环境二、部署思路三、实际部署操作