keystone服务监听两个端口:5000和35357

一、安装和配置

1.安装keystone组件

yum install openstack-keystone httpd mod_wsgi -y

2.在mariadb数据库中为keytone组件创建一个数据库,数据库名为keystone,并为keystone组件创建账号并授予对keystone数据库的所有操作权限。

create database keystone;

grant all privileges on keytone.* to 'keystone'@'localhost' identified by 'keystone';

grant all privileges on keystone.* to 'keystone'@'%' identified by 'keystone';

flush privileges;

3.设置keystone组件的配置文件,让keystone组件可以访问mariadb的keystone数据库

vim /etc/keystone/keystone.conf

在[database]下添加:
connection = mysql+pymysql://keystone:keystone@controller1/keystone

保存退出。

4.将keystone组件所需要的表导入到mariadb的keystone数据库中。

su -s /bin/sh -c "keystone-manage db_sync" keystone

执行完后,可以看下keystone数据库下有几张表,我的有44张表。

5.配置keystone组件使用fernet令牌,具体可参阅:https://blog.csdn.net/wllabs/article/details/79064094

vim /etc/keystone/keystone.conf

在[token]下添加:

provider = fernet

保存退出。

初始化fernet令牌库,为keystone创建令牌:

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

6.初始化admin用户(管理用户)与密码,3种API端点,服务实体、可用区等

keystone-manage bootstrap --bootstrap-password 123456 --bootstrap-admin-url http://controller1:35357/v3/ --bootstrap-internal-url http://controller1:5000/v3/ --bootstrap-public-url http://controller1:5000/v3/ --bootstrap-region-id RegionOne

备注:

未指定--bootstrap-username,会默认生成admin用户,

未指定--bootstrap-project-name,会默认生成admin项目,

未指定--bootstrap-role-name,会默认生成admin角色,

未指定--bootstrap-service-name,会默认生成keystone服务实体。

另外,这条初始化命令,还默认创建了一个default域。

7.配置http服务

当没有指定ServerName时,server会尝试对IP地址进行反向查询来判断主机名。假设在ServerName中没有指定port号,server会监听全部port。为了加强可靠性和可预測性,应该使用ServerName显示的指定一个主机名和port号。

vim /etc/httpd/conf/httpd.conf

添加:

ServerName controller1:80

保存退出。

8.配置启动http时,同时也启动keystone

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

9.启动http,并设置开机自启。

systemctl enable httpd.service && systemctl start httpd.service

二、

10.配置admin环境客户端脚本并启动脚本

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                          #这是初始化keystone时,设置的admin密码。
export OS_AUTH_URL=http://controller1:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

保存退出。

source admin-openrc

或者 . admin-openrc

11.虽然初始化keystone时,已经默认创建了域、项目、用户、角色等,但并没有很好的演示出如何去创建它们的,下面就来演示一下:

创建服务实体keystone(这个不要去执行,因为在初始化时已经创建):

openstack service create --name keystone --description "OpenStack Identity" identity

创建API端点(这个不要去执行,因为在初始化时已经创建):

openstack endpoint create --region RegionOne identity public http://controller1:5000/v3

openstack endpoint create --region RegionOne identity internal http://controller1:5000/v3

openstack endpoint create --region RegionOne identity admin http://controller1:35357/v3

创建default域:(这个不要去执行,因为在初始化时已经创建)

openstack domain create --description "Default Domain" default

在default域中创建service项目:(这个可以执行,因为初始化时只创建了admin项目)

openstack project create --domain default --description "Service Project" service

在default域中创建demo项目:(这个可以执行)

openstack project create --domain default --description "demo Project" demo

在default域中创建demo用户:(这个可以执行,因为初始化时只创建了admin用户)

openstack user create --domain default --password-prompt demo    #demo用户密码会在命令回车执行时要求客官输入的,我输入的是demo

创建user角色:(这个可以执行,因为初始化时只创建了admin角色)

openstack role create user

将user角色关联到demo项目和demo用户上:

openstack role add --project demo --user demo user

12.验证创建的用户

这一步和第10步是同样的道理,都可以进行验证。

使用admin用户请求token身份令牌:

unset OS_AUTH_URL OS_PASSWORD   #首先要重置第10步引入的环境变量

openstack --os-auth-url http://controller1:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin --os-identity-api-version 3  token issue

使用demo用户请求token身份令牌:

openstack --os-auth-url http://controller1:5000/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name demo --os-username demo token issue

demo用户也可以使用客户端脚本:

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=demo
export OS_AUTH_URL=http://controller1:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

保存退出。

使用. demo-openrc或者source demo-openrc进行导入这些变量。

执行openstack token issue获取token身份令牌。

这一篇的初版结束,还有待细化和补充,感谢各位客官。下次再见。

OpenStack控制节点上搭建Q版keystone服务(step3)的更多相关文章

  1. OpenStack控制节点上搭建Q版nova服务(step5)

    placement组件监听的端口号是:8778 nova组件监听的端口号是:6080.8774.8775 其中6080端口号是novncproxy监听的端口号. 1.安装服务组件 yum instal ...

  2. OpenStack控制节点上搭建Q版glance服务(step4)

    glance服务监听两个端口:9191和9292 其中9292端口是对外提供服务的,9191是服务组件间使用的. 1.安装glance组件 yum --enablerepo=centos-openst ...

  3. OpenStack上搭建Q版的公共环境准备(step1)

    vmware14 centos7.5minimal版 controller1节点虚拟硬件配置: CPU:1颗2核 Memory:2G 硬盘:20G 网卡: VMnet1(仅主机模式):关闭DHCP,手 ...

  4. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 5.在控制节点上部署计算服务Nova

    计算服务Nova使用OpenStack Compute来托管和管理云计算系统. OpenStack Compute是基础架构即服务(IaaS)系统的主要部分. 主要模块用Python实现.OpenSt ...

  5. OpenStack搭建Q版在控制节点上的环境准备(step2)

    接下来是只需要在控制节点上准备的环境配置.其中虽然NTP服务需要在所有节点上都安装,但NTP服务在控制节点和其他的节点上的配置是不同的,所以不把它放在step1的公共配置中进行准备.如下: 1.配置N ...

  6. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 6.在计算节点上安装并配置计算服务Nova

    安装和配置计算节点这个章节描述如何在计算节点上安装和配置计算服务. 计算服务支持几种不同的 hypervisors.为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based ...

  7. OpenStack搭建Q版只属于计算节点上的环境准备(step6)

    配置NTP服务 1.安装chronyd yum install chrony -y 2.修改配置文件,使计算节点与控制节点同步时间 vim /etc/chrony.conf 注释掉下面四行: #ser ...

  8. openstack 部署(Q版)-----keystone认证服务安装配置

    一.新建数据库及用户 CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' ID ...

  9. openstack 控制节点大流量对外发包,nf_conntrack,table full droping packets

    某些人很MJJ,挂了N多代理来疯狂采集,把服务器带宽都耗尽了,没办法只好封掉一些! 目前发现的问题openStack kilo for ubuntu manuual运行一段时间后 云平台的控制节点p5 ...

随机推荐

  1. change事件同一文件多次选中

    最近在做图片上传的时候,碰到了一点问题,那就是选择内容相同,change事件执行不了 网上搜索了答案,使用off('change')好像也不行 最终找到一种解决办法 使用replaceWith重置in ...

  2. java富文本编辑器KindEditor

    在页面写一个编辑框: <textarea name="content" class="form-control" id="content&quo ...

  3. WebSocket对象的“readyState”属性记录连接过程中的状态值

    websocket的两个属性:readyState和bufferedAmount. 根据readyState属性可以判断webSocket的连接状态,该属性的值可以是下面几种: 0 :对应常量CONN ...

  4. DAY5:字典

    无序性: # -*- coding:utf-8 -*- # Author: TanJincheng room = { "s2": "han meimei", & ...

  5. IP通信基础课堂笔记----第三章(自认为的重点)

    网络层协议IP IP数据包格式:固定部分        {  标识(16):计数器,源站每发送一个分组,标识+1:源IP地址的标识是全网唯一的. (包含TCP/UDP首部)  |  标志(3):当最低 ...

  6. makefile笔记5 - makefile变量

    在 Makefile 中的定义的变量,就像是 C/C++语言中的宏一样,他代表了一个文本字串,在 Makefile 中执行的时候其会自动原模原样地展开在所使用的地方.其与 C/C++所不同的是,你可以 ...

  7. puthon文件头

    #!/usr/bin/u/ubv/a python # -*- coding:utf-8 -*-

  8. SMS PDU编码数据串格式分析

    PDU协议数据单元详细介绍 PDU 相当于一个数据包,它由构成消息(SMS)的信息组成.作为一种数据单元,它必须包含源/目的地址.保护(有效)时间.数据格式.协议类型和正文,正文长度可达140字节,它 ...

  9. more语法

    二.more 文件内容或输出查看工具 more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比: [root@localhost ~]# ...

  10. 2019-04-18-day035-守护线程与池

    内容回顾 互斥锁 在同一个进程中连续锁两次以上会死锁 进程的数据共享 进程之间可以共享数据 提供共享数据的类是Manager 但是他提供的list\dict这些数据类型是数据不安全的 针对 += -= ...