一、新建数据库及用户(控制节点)
# 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. 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用

    一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点: 如果找到了,删除它. 说明: 要求算法时间复杂度为 O(h),h 为树的高度. 示例: root = [5,3,6,2,4,null,7] ...

  2. t100 debug常用指令

    1.     r.d 程式代號 Find (Ctrl+F) => Find Next(F3). 設中斷點(Toggle):Double Click => Run/Continue the ...

  3. 四种方法获取可执行程序的文件路径(.NET Core / .NET Framework)

    原文:四种方法获取可执行程序的文件路径(.NET Core / .NET Framework) 本文介绍四种不同的获取可执行程序文件路径的方法.适用于 .NET Core 以及 .NET Framew ...

  4. mapreduce课堂测试结果

    package mapreduce; import java.io.IOException; import java.util.StringTokenizer; import org.apache.h ...

  5. mysql数据库的安装和连接测试并给root用户赋密码

    一.mysql数据库的安装 Windows下MySQL的配置 以 MySQL 5.1 免安装版为例, 下载 mysql-noinstall-5.1.69-win32.zip ( 官方下载页: http ...

  6. 换个语言学一下 Golang (8)——指针

    定义 所谓指针其实你可以把它想像成一个箭头,这个箭头指向(存储)一个变量的地址. 因为这个箭头本身也需要变量来存储,所以也叫做指针变量. Go的指针不支持那些乱七八糟的指针移位.它就表示一个变量的地址 ...

  7. 软工作业 wc-java

    项目要求: 实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处理多个文件. 具体功能 -c 返回文件字符数 -w 返回词的数目 -l 返回行数 扩展 ...

  8. 使用TP5验证器遇到的坑

    项目中需要对字段进行验证,本人使用的是控制器验证方式.话不多说,直接上报错信息: SQLSTATE[42S02]: Base table or view not found: 1146 Table ' ...

  9. [JavaScript] js中全局标识正则表达式的lastIndex属性

    在JavaScript中使用正则表达式时,遇到一个坑:第一次匹配是true,第二次匹配是false. 因为在带全局标识"g"的正则表达式对象中,才有“lastIndex” 属性,该 ...

  10. day 10 预科

    目录 IPO 编程 面向对象编程 类和对象 对象 类 定义类 定义对象 定义类语法 定义对象 (实例化对象) 定制对象独有特征 LeetCode检测机制 面向过程编程:面向(对着)-->过程(流 ...