一、新建数据库及用户(控制节点)
# mysql -uroot -p12345678
MariaDB [(none)]> CREATE DATABASE keystone;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

二、安装keystone(控制节点)
安装软件包:
# yum install -y openstack-keystone httpd mod_wsgi

修改keystone配置文件:
vim /etc/keystone/keystone.conf
编辑模式下(冒号)
删除#开头行  %g/^#/d
删除空白行   %g/^$/d
[database]
connection = mysql+pymysql://keystone:keystone123@localhost/keystone
[token]
provider = fernet #配置Fernet UUID令牌的提供者

初始化数据库:
# 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

配置引导标识服务:
keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://10.10.11.11:35357/v3/ \
--bootstrap-internal-url http://10.10.11.11:5000/v3/ \
--bootstrap-public-url http://10.10.11.11:5000/v3/ \
--bootstrap-region-id RegionOne      
#记住RegionOne

配置apache httpd
# vim /etc/httpd/conf/httpd.conf
#修改ServerName
ServerName 10.10.11.11:80

配置wsgi模块软件连接
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

启动httpd    
# systemctl enable httpd.service
# systemctl start httpd.service
# systemctl status httpd.service

查看35357和5000端口有没有被监听    
# netstat -anpt | grep http
tcp6  0  0 :::5000   :::*    LISTEN  7449/httpd
tcp6  0  0 :::80     :::*    LISTEN  7449/httpd
tcp6  0  0 :::35357  :::*    LISTEN  7449/httpd

三、创建域、项目、用户、角色(控制节点)
使用环境变量:
# vim set_env
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://10.10.11.11:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
# source set_env

创建一个服务项目,名称是“service”,该服务项目包含唯一用户,它是添加到环境的所有服务的用户:
# openstack project create --domain default --description "Service Project" service

查看:    
# openstack project list
注意,其中的admin项目是自动创建的,不需要手工创建。

创建demo项目:
# openstack project create --domain default --description "Demo Project" demo

创建“demo”用户并设置密码:
# openstack user create --domain default --password-prompt demo  #创建demo用户并输入密码demo123

创建“user”角色:    
# openstack role create user

为“demo”项目的“demo”用户添加“user”角色:    
# openstack role add --project demo --user demo user

四、测试令牌是否正常
# unset OS_AUTH_URL OS_PASSWORD

尝试用admin用户请求一个令牌看是否正常
# openstack --os-auth-url http://10.10.11.11:35357/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name admin --os-username admin token issue

输入密码:123456

尝试用demo用户请求一个令牌看是否正常    
# openstack --os-auth-url http://10.10.11.11:5000/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name demo --os-username demo token issue

输入密码:demo123

五、为admin和demo用户创建环境变量脚本
# 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=123456
export OS_AUTH_URL=http://10.10.11.11:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

# vim 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=demo123
export OS_AUTH_URL=http://10.10.11.11:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

测试脚本使用    
# source admin-openrc
# openstack token issue  #admin用户请求令牌

# source demo-openrc
# openstack token issue  #demo用户请求令牌

六、keystone服务正常测试
从各节点访问keystone服务,验证是否正常
# curl http://10.10.11.11:35357/v3
# curl http://10.10.11.11:35357/v3

查看创建的Identity服务及其endpoint:
# source admin-openrc
# openstack service list
# openstack endpoint list

S1_搭建分布式OpenStack集群_04 keystone认证服务安装配置的更多相关文章

  1. S1_搭建分布式OpenStack集群_10 cinder 存储节点配置

    一.安装配置lvm2安装LVM包:# yum install -y lvm2 启动LVM元数据服务,并将其配置为在系统启动时启动:# systemctl enable lvm2-lvmetad.ser ...

  2. S1_搭建分布式OpenStack集群_09 cinder 控制节点配置

    一.创建数据库创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE cinder;MariaDB [(none ...

  3. S1_搭建分布式OpenStack集群_12 界面horizon安装

    一.界面的安装控制节点安装软件包:# yum install openstack-dashboard -y 修改配置文件:# vim /etc/openstack-dashboard/local_se ...

  4. S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置

    一.安装mysql(contorller)controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 ...

  5. S1_搭建分布式OpenStack集群_02 虚拟机环境配置

    一.配置主机名及hosts和防火墙(只演示一台,其他机器配置方式一样)vim /etc/hosts  加入    10.10.11.11 controller10.10.11.12 compute11 ...

  6. S1_搭建分布式OpenStack集群_01 准备虚拟机

    Openstack版本:openstack-queen 版本 一.环境准备 网络规划: Management + API Network:10.10.11.0/24 eth1    网桥:br1 VM ...

  7. S1_搭建分布式OpenStack集群_07 nova服务配置 (计算节点)

    一.服务安装(计算节点)安装软件:# yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容:# vim /etc/n ...

  8. S1_搭建分布式OpenStack集群_08 网络服务(neutron)安装部署

    一.数据库配置(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE neutron;MariaDB ...

  9. S1_搭建分布式OpenStack集群_06 nova服务配置 (控制节点)

    一.创建数据库(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE nova_api;MariaD ...

随机推荐

  1. RabbitMq 概述

    RabbitMQ是实现了高级消息队列协议(Advanced Message Queueing Protocol , AMQP)的开源消息代理软件(亦称面向消息的中间件). 1.AMQP协议 Rocke ...

  2. MySQL8.0 下载安装启动(Windows10)

    2019年6月13日20:13:21 MySQL8.0 下载安装启动(Windows10) 下载 下载地址:https://dev.mysql.com/downloads/mysql/8.0.html ...

  3. Zipkin存储Sleuth信息实现调用链追踪的几种方法

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/alva_xu/article/detail ...

  4. .net Dapper 学习系列(2) ---Dapper进阶

    目录 写在前面 前期准备 Dapper 单表批量添加 在Dapper 多表查询 在Dapper 调用存储过程 在Dapper 使用QueryMultiple进行多表查询 在Dapper 使用事务进行多 ...

  5. IdentityServer4 实现OAuth2.0四种模式之密码模式

    接上一篇:IdentityServer4 实现OAuth2.0四种模式之客户端模式,这一篇讲IdentityServer4 使用密码模式保护API访问. 一,IdentityServer配置 1,添加 ...

  6. K8S 中的容器编排和应用编排

    众所周知,Kubernetes 是一个容器编排平台,它有非常丰富的原始的 API 来支持容器编排,但是对于用户来说更加关心的是一个应用的编排,包含多容器和服务的组合,管理它们之间的依赖关系,以及如何管 ...

  7. 2019 新浪 java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.新浪等公司offer,岗位是Java后端开发,因为发展原因最终选择去了新浪,入职一年时间了,也成为了面试官,之 ...

  8. python中的{字典}

    目录 字典--dict { } 字典是无序,可变的数据类型. 字典:用于存储数据,存储大量数据,字典要比列表快:将数据和数据之间进行关联. 定义: dic = {键:值,键:值} #每个 键值对 以逗 ...

  9. MySql表、字段、库的字符集修改及查看方法

    这篇文章主要介绍了MySql表.字段.库的字符集修改及查看方法,本文分别给们它的修改及查看语句,需要的朋友可以参考下 修改数据库字符集: 代码如下: ALTER DATABASE db_name DE ...

  10. AppDir【创建缓存目录】【建议使用这个工具类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 创建缓存目录 public static String APP_CACHE = "";// /storage/e ...