错误:在keystone中无法找到默认角色user_第四章 keystone认证组件安装1

cbcd40addf76b25c8a843b9fd1c14148.png

1、在控制节点安装rabbitmq、memcached组件

apt-get -y install rabbitmq-server memcached python-pymysql
# 设置openstack用户
rabbitmqctl add_user openstack password   #后一个password是密码,需要特别注意,要与后面组件访问时的密码一致
#设置openstack用户为管理者
rabbitmqctl set_user_tags openstack administrator
# 给与openstack用户相关权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
systemctl restart rabbitmq-server
# 安装数据库 
apt -y install mariadb-server
# 进行数据库的安全初始化
mysql_secure_installation
# 设置数据库root密码为root,不改变密码回答n,其余都回答为y# 编辑数据库文件
vi /etc/msyql/mariadb.conf.d/50-server.cnf
#修改以下内容
# line 29: change
bind-address = 0.0.0.0# line 41: uncomment and change
# default value 151 is not enough on Openstack Env
max_connections = 1000# line 111: change
character-set-server = utf8
# collation-server = utf8mb4_general_ci# 重启服务
systemctl restart mariadb   # 不需要设置开机自启动,默认已经是了#编辑文件
vi /etc/memcached.conf
# 修改如下
# line 35: change
-l 0.0.0.0                   #  绑定在所有接口上# 重启服务
systemctl restart memcached  # 不需要设置开机自启动,默认已经是了

2、在控制节点在数据库中,为keystone服务增加用户和数据库

mysql -u root -p
# 输入之前设置的数据库密码root
create database keystone;                                                              # 创建keystone数据库
grant all privileges on keystone.* to keystone@'localhost' identified by 'password';   # 赋予keystone用户对本地访问keystone数据所有表项有操作权
grant all privileges on keystone.* to keystone@'%' identified by 'password';           # 赋予keystone用户对远程访问keystone数据所有表项有操作权
flush privileges;
exit# 安装keystone组件
apt -y install keystone python-openstackclient apache2 libapache2-mod-wsgi-py3 python-oauth2client# 配置keystone配置文件
vi /etc/keystone/keystone.conf
[DEFAULT]
debug = True                                    # 打开调试功能
# line 476: uncomment and specify Memcache Server
memcache_servers = 192.168.222.29:11211
# memcache_servers = controller1:11211         # 这样用主机名更规范
# line 591: change ( MariaDB connection info )
connection = mysql+pymysql://keystone:password@192.168.222.29/keystone
# connection = mysql+pymysql://keystone:password@controller1/keystone    # 这样用主机名更规范
# line 2544: uncomment
provider = fernet# 数据库同步,python的orm对象关系映射,需要初始化来生成数据库表结构
su -s /bin/bash keystone -c "keystone-manage db_sync"# 初始化 Fernet key
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone# 为keystone的访问服务
export controller1=192.168.222.29   # API组件通信IP
keystone-manage bootstrap --bootstrap-password adminpassword 
--bootstrap-admin-url http://$controller1:5000/v3/ 
--bootstrap-internal-url http://$controller1:5000/v3/ 
--bootstrap-public-url http://$controller1:5000/v3/ 
--bootstrap-region-id RegionOne
# 这里解释一下
# 运行上面的指令会有如下结果:
# 1)在endpoint表增加3个服务实体的API端点
# 2)在local_user表中创建admin用户,密码adminpassword
# 3)创建了admin project和default域(默认域)
# 4)在role表创建3种角色,admin,member和reader
# openstack role list      # 查看角色

3cbdbd7cfe6875d146b0b926ce6cb2e6.png
# openstack domain list     # 查看默认域

f29447c031ed2d93bdd85ca6497e7201.png
# openstack user list        # 查看用户
# openstack project list     # 查看项目
# 同理,可得默认的配置,图省略

3、web配置

# 编辑文件
vi /etc/apache2/apache2.conf
# 修改如下
# line 70: specify server name
ServerName controller1               
# 重启服务
systemctl restart apache2            # 已经开机自启动了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu加了张固态_将ubuntu系统迁移到ssd固态

朋友送了一个固态硬盘给我,因此将原机械硬盘上的系统迁移到固态硬盘上。原机械硬盘(dev/sdb)装有win10和ubuntu双系统。分区情况如下:sda1:ESP分区sda2:资料sda3:资料sda4:swap分区,被我干掉了&…

centos编译mysql5.6_centos7上编译安装mysql5.6

注意,在做实验室统一关闭防火墙做的,在生产环境需要做防火墙规则的,大家要注意,做的时候尽量都是模仿生产环境的,比如服务一般都在/data/soft下面,尽量避免在/usr/local/下面。安装编译mysql所需要的软件[r…

使用ELK堆栈进行日志聚合

1.简介 随着微服务的使用,创建稳定的分布式应用程序和摆脱许多遗留问题变得很容易。 但是微服务的使用也带来了一些挑战, 分布式日志管理就是其中之一。 由于微服务是隔离的,因此它们不共享数据库和日志文件,因此实时搜索&#xf…

mysql主从延时这么长_MySQL主从延迟问题解决

今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。坐好了,准备发车!主从常见架构随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从架构便随之…

生成器作为(快速失败)状态机

这个想法是几周前在设计“ Generator”类时想到的,该类必须将输入发送给封装的Writer 。 实际上,它是Builder模式。 但是,规则有些复杂,用户必须以某种方式调用add...()方法,才能正确生成输出。 不用说,我…

源码包编译安装python_Python3.7源码包编译安装-Go语言中文社区

环境:[rootlocalhost python3]# cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)[rootlocalhost python3]#1、下载Python方式一:方式二:进入https://www.python.org/ftp/python/ 这里存放着所有版本的Python源码。往下拉看到最…

java criteria and_criteria用法

Criteria Query通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,Criteria Query可以看作是传统SQL的对象化表示,如:Java代码Criteria criteria session.createCriteria(User.class);criteria.add(Expression.eq(&q…

java jdt_在JDT中使用Java 8 Lambda

java jdt旧 Curmudgeon 认识Smalltalk的Dude 在修改Eclipse Java开发工具 (JDT)项目正在开发的Java 8支持时,我一直在使用这种语言。 我承认我对Java 8中的lambda有点不满意。 当然,这来自于知道Smalltalk (和LISP…

java 1.8签名apk_给Android的APK程序签名和重新签名的方法

签名工具的使用Android源码编译出来的signapk.jar既可给apk签名,也可给rom签名的。使用格式:java –jar signapk.jar [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar-w 是指对ROM签名时需使用的参数publickey.x509[.pem] 是公钥文件pri…

使用Oracle验证外部数据

我经常在Corda Slack频道中闲逛,并尽可能回答问题。 我尝试回答的合理数量的问题与Oracle有关。 更具体地说,何时使用一个。 我觉得我可以回答,“当您需要验证可能经常更改的外部数据时使用Oracle”。 我可能在某个时候写了一个类似的答案。 …

java 2d 教程_Java 2D开发技巧之“灯光与阴影”

Java 2D开发技巧之“灯光与阴影”(2016-12-14 02:12:25)标签:杂谈一、 引言在本文中,我们将向你展示如何为扁平形状添加一种灯光效果以实现一种类3D外观。也许你比较满意于自己的文字表达能力,但一幅图片往往能够产生更好的效果。对于图形处理…

java连接到mysql_[操作系统]Java如何连接到MySQL数据库的

[操作系统]Java如何连接到MySQL数据库的0 2016-05-01 15:00:15下载:mysql-connector-java-5.1.38.tar.gzhttp://dev.mysql.com/downloads/connector/j/tar zxvfmysql-connector-java-5.1.38.tar.gz解压后zhouspubuntu:~/Downloads$cd ./mysql-connector-java-5.1.38…

Spark Run本地设计模式

现在,许多Spark应用程序已成为遗留应用程序,很难在本地进行增强,测试和运行。 Spark具有很好的测试支持,但仍有许多Spark应用程序不可测试。 当您尝试运行一些旧的Spark应用程序时,我将分享一个常见错误。 Exceptio…

mysql导入创建表空间_oracle创建表空间 导入数据库

oracle2 然后是创建表空间创建表空间需要创建两个一个临时表空间 一个表空间--创建表空间create tablespace abc datafile ‘D:\tablespce\LANDHIGH_SFTMS.dbf‘ size 500m;--创建用户并指定表空间create user admin identified by admin default tablespace abc quota 500m …

Java线程的不同状态

介绍 在Java中,线程可以具有状态。 Thread.State枚举定义Java线程可以具有的不同状态。 该枚举定义了以下值– 新 可运行 已封锁 等候 TIMED_WAITING 已终止 在接下来的部分中,我将简要概述这些状态以及它们之间的可能过渡。 Java线程的状态 新 …

IDE日志分析方法pt。 2

介绍 在第一部分中,我解释了日志分析的理论方法,我认为这对维持工程师是最合适的。 这位工程师不需要在日志出现时立即对其进行分析,而是专注于对复杂问题的深入分析。 在第二部分中,我将展示一个复杂的模板可以涵盖许多搜索场景&…

java 面试指南_Java面试参考指南–第1部分

java 面试指南JAVA面向对象的概念 Java in基于面向对象的概念,它允许更高级别的抽象以实际方式解决任何问题。 面向对象的方法将实际对象中的问题解决方案概念化,更易于在整个应用程序中重用。 例如椅子,风扇,狗,电脑…

创建一个安全的Spring REST API

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 “如果有用,它将被修改。” 这些智慧之言来自我的QA老师,他们…

java并发编程十 原子累加器和Unsafe

文章目录 原子累加器cas 锁原理之伪共享 UnsafeUnsafe CAS 操作 原子累加器 累加器性能比较 private static <T> void demo(Supplier<T> adderSupplier, Consumer<T> action) {T adder adderSupplier.get();long start System.nanoTime();List<Thread…

具有ELK的APIGEE API网关日志管理(Elastic Search,Logstash和Kibana)

在本文中&#xff0c;我们将看到如何使用 Elastic Search &#xff0c; Logstash 和 Kibana 管理APIGEE API网关生成的日志 。 下图突出显示了日志数据如何流经ELK堆栈以进行数据可视化和监视。 作为API网关的一部分&#xff0c;我们将使用MessageLogging策略在代理流&#xf…