↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓

》》》》》》传送门

1.创建keystone数据库

2.创建随机密码作为管理员令牌

3.安装openstack-keystone,httpd,mod_wsgi服务并配置

4.初始化Keystone身份认证数据库连接并验证

5.初始化Fernet keys

6.配置Apache服务(Http)并启动

7.创建服务实体和API端点

8.验证

9.创建OpenStack 客户端环境脚本

1.创建keystone数据库

#mysql -uroot -p000000   #此处六个零是之前运行``mysql_secure_installation``脚本,为root用户设置的密码,请根据自己的实际情况实际修改
>create database keystone;
> grant all privileges on keystone.* to 'keystone'@'localhost' identified by '000000';
> grant all privileges on keystone.* to 'keystone'@'%' identified by '000000'; #注解:
第一条数据库命令是创建keystone数据库
第二条是创建keystone用户并授予所有权限本地登陆并设置密码
第三条是创建keystone用户并授予所有权限任意地点登陆并设置密码

2.创建随机密码作为管理员令牌

[root@controller ~]# openssl rand -hex 10
#生成伪随机字节输出结果为16位进制数据并指定随即长度10

3.安装openstack-keystone,httpd,mod_wsgi服务并配置

#yum -y install openstack-keystone httpd mod_wsgi

编辑keystone.conf配置文件
#vi /etc/keystone/keystone.conf 在[DEFAULT]下添加
admin_token = ADMIN_TOKEN #此处的ADMIN_TOKEN为上一步生成的随机数,请用随机数替换 ADMIN_TOKEN 在[database]下添加
connection = mysql+pymysql://keystone:000000@controller/keystone #配置数据库连接 在[token]下添加
provider = fernet #配置Fernet UUID令牌提供者





4.初始化Keystone身份认证数据库连接并验证

[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
[root@controller ~]# mysql -uroot -p000000 -e 'show tables from keystone;' #检查数据库是否同步

5.初始化Fernet keys

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

6.配置Apache服务(Http)并启动

编辑配置文件httpd.conf
#vi /etc/httpd/conf/httpd.conf
修改
ServerName controller

复制文件到/etc/httpd/conf.d/下

#cp -p /opt/mitaka/wsgi-keystone.conf /etc/httpd/conf.d/

启动并设置开机启动
#systemctl start httpd
#systemctl enable httpd

7.创建服务实体和API端点

1.配置认证令牌

查看admin_token 使用此命令
[root@controller ~]# head /etc/keystone/keystone.conf |grep admin_token

#export OS_TOKEN=ADMIN_TOKEN   #配置认证令牌,此处ADMIN_TOKEN为之前生成的随机数,请自行替换,
#export OS_URL=http://controller:35357/v3 #配置端点URL
#export OS_IDENTITY_API_VERSION=3 #配置认证 API 版本

2.创建服务实体和API端点

创建服务实体和身份认证服务:
#openstack service create --name keystone --description "OpenStack Identity" identity 创建认证服务的 API 端点:
#openstack endpoint create --region RegionOne identity public http://controller:5000/v3
#openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
#openstack endpoint create --region RegionOne identity admin http://controller:35357/v3





3.创建域,项目,用户以及角色

创建域 default     #这里的default只是名字,可自行修改,但是要与后面相对应
[root@controller ~]# openstack domain create --description "Default Domain" default
创建admin项目
[root@controller ~]# openstack project create --domain default --description "Admin Project" admin
创建admin用户
[root@controller ~]# openstack user create --domain default --password 000000 admin #此处六个零为admin用户的密码
创建admin角色
[root@controller ~]# openstack role create admin
添加`admin` 角色到 admin 项目和用户上:
[root@controller ~]# openstack role add --project admin --user admin admin









4.创建service项目,以后添加的每个服务都会添加到service项目

[root@controller ~]# openstack project create --domain default --description "Service Project" service

5.创建demo项目,无特殊权限的项目,类似于普通用户组

[root@controller ~]# openstack project create --domain default --description "Demo Project" demo
创建demo用户:
[root@controller ~]# openstack user create --domain default --password 000000 demo
创建user角色
[root@controller ~]# openstack role create user
添加 user角色到 demo 项目和用户:
[root@controller ~]# openstack role add --project demo --user demo user







8.验证

重置OS_TOKEN和OS_URL 环境变量:
[root@controller ~]# unset OS_TOKEN OS_URL 作为 admin 用户,请求认证令牌:
[root@controller ~]# openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue

9.创建OpenStack 客户端环境脚本

在/root/目录下创建脚本
#vi /root/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=000000 #此处的ADMIN_PASS为之前设置的admin用户密码000000
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2 #vi /root/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=000000 #这里的DEMO_PASS为之前的demo用户密码000000
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

验证

# . /root/admin-openrc
#openstack token issue

(三)OpenStack---M版---双节点搭建---Keystone安装和配置的更多相关文章

  1. (八)OpenStack---M版---双节点搭建---Cinder安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建数据库并授权 2.获得admin凭证执行管理员命令并创建服务证书 3.创建块存储设备AP ...

  2. (六)OpenStack---M版---双节点搭建---Neutron安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建网络服务数据库 2.获得 admin 凭证来获取只有管理员能执行的命令的访问权限 3.创 ...

  3. (二)OpenStack---M版---双节点搭建---数据库安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本章节只在Controller节点执行 1.安装Mariadb数据库来存储信息 2.NoSQL数 ...

  4. (十)OpenStack---M版---双节点搭建---Heat安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本章节仅在Controller节点执行 1.Controller节点执行安装和配置 2.验证操作 ...

  5. (五)OpenStack---M版---双节点搭建---Nova安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建nova 和 nova_api数据库 2.获得 admin 凭证来获取只有管理员能执行的 ...

  6. (四)OpenStack---M版---双节点搭建---Glance安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建glance数据库 2.获得 admin 凭证来获取只有管理员能执行的命令的访问权限 3 ...

  7. (七)OpenStack---M版---双节点搭建---Dashboard安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.安装并配置 2.重启apache和memcached服务 3.验证 4.在Web界面创建网络 ...

  8. (九)OpenStack---M版---双节点搭建---Swift(单节点)安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本次搭建仅采用Compute单节点做swift组件 1.Controller安装并配置控制节点 ...

  9. (一)OpenStack---M版---双节点搭建---基础环境配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 配置如下 本次搭建采用2台4核4G的虚拟机,也可以用2台2核4G 主机名 配置 网络 Contr ...

随机推荐

  1. vue 请求图片方法

    node的每一个文件,都是一个域,那么里面所有的变量都不允许被外界引用,除非导出.要使用外界的变量,也必须使用导入的方式来导入.import 文件路径. css可以直接使用import +文件路径导入 ...

  2. Docker 实战—使用 Dockerfile 构建镜像

    Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpi ...

  3. linux安装redis 和 使用

    安装 .获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz .解压 .tar.gz .安装 cd redis- ma ...

  4. php从数据库获取数据并遍历在表格中

    <?php /*连接数据库并以一个数组的形式获得数据*/ header("Content-type:text/html;charset=UTF-8"); $con = mys ...

  5. 哪种方式更适合在React中获取数据?

    作者:Dmitri Pavlutin 译者:小维FE 原文:dmitripavlutin.com 国外文章,笔者采用意译的方式,以保证文章的可读性. 当执行像数据获取这样的I/O操作时,你必须发起获取 ...

  6. nginx篇最初级用法之nginx升级

    在不破坏nginx应用程序和配置文件下时,升级nginx. 下载新版本的nginx对其进行编译 使用nginx -V参数获得当前版本和配置参数 nginx version: nginx/1.10.3b ...

  7. Vue计算属性缓存(computed) vs 方法

    Vue计算属性缓存(computed) vs 方法 实例 <div id="example"> <p>Original message: "{{ ...

  8. MapReduce任务提交源码分析

    为了测试MapReduce提交的详细流程.需要在提交这一步打上断点: F7进入方法: 进入submit方法: 注意这个connect方法,它在连接谁呢?我们知道,Driver是作为客户端存在的,那么客 ...

  9. 文件输入输出函数fgetc/fputc及fgets/fputs等文件指针位置的变化

    文件打开后才可以对文件进行操作.也就是说,文件必须经历打开-操作-关闭的过程.如前所述,C语言对文件的操作都是通过调用标准I/O库函数来实现的.文件操作实际是指对文件的读写.文件的读操作就是从文件中读 ...

  10. canvas与工作流的不解之缘

    html的标签 <canvas>用于图形的绘制,通过脚本 (通常是JavaScript)来完成,canvas简而言之就是个画布.上一篇文章我们提到工作流的一个重要组成部分:流程建模,也就是 ...