OpenStack控制节点上搭建Q版keystone服务(step3)
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)的更多相关文章
- OpenStack控制节点上搭建Q版nova服务(step5)
placement组件监听的端口号是:8778 nova组件监听的端口号是:6080.8774.8775 其中6080端口号是novncproxy监听的端口号. 1.安装服务组件 yum instal ...
- OpenStack控制节点上搭建Q版glance服务(step4)
glance服务监听两个端口:9191和9292 其中9292端口是对外提供服务的,9191是服务组件间使用的. 1.安装glance组件 yum --enablerepo=centos-openst ...
- OpenStack上搭建Q版的公共环境准备(step1)
vmware14 centos7.5minimal版 controller1节点虚拟硬件配置: CPU:1颗2核 Memory:2G 硬盘:20G 网卡: VMnet1(仅主机模式):关闭DHCP,手 ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 5.在控制节点上部署计算服务Nova
计算服务Nova使用OpenStack Compute来托管和管理云计算系统. OpenStack Compute是基础架构即服务(IaaS)系统的主要部分. 主要模块用Python实现.OpenSt ...
- OpenStack搭建Q版在控制节点上的环境准备(step2)
接下来是只需要在控制节点上准备的环境配置.其中虽然NTP服务需要在所有节点上都安装,但NTP服务在控制节点和其他的节点上的配置是不同的,所以不把它放在step1的公共配置中进行准备.如下: 1.配置N ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 6.在计算节点上安装并配置计算服务Nova
安装和配置计算节点这个章节描述如何在计算节点上安装和配置计算服务. 计算服务支持几种不同的 hypervisors.为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based ...
- OpenStack搭建Q版只属于计算节点上的环境准备(step6)
配置NTP服务 1.安装chronyd yum install chrony -y 2.修改配置文件,使计算节点与控制节点同步时间 vim /etc/chrony.conf 注释掉下面四行: #ser ...
- openstack 部署(Q版)-----keystone认证服务安装配置
一.新建数据库及用户 CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' ID ...
- openstack 控制节点大流量对外发包,nf_conntrack,table full droping packets
某些人很MJJ,挂了N多代理来疯狂采集,把服务器带宽都耗尽了,没办法只好封掉一些! 目前发现的问题openStack kilo for ubuntu manuual运行一段时间后 云平台的控制节点p5 ...
随机推荐
- 汉诺塔I
题目描述 对于传统的汉诺塔游戏我们做一个拓展,我们有从大到小放置的n个圆盘,开始时所有圆盘都放在左边的柱子上,按照汉诺塔游戏的要求我们要把所有的圆盘都移到右边的柱子上,请实现一个函数打印最优移动轨迹. ...
- 区间dp之四边形不等式优化详解及证明
看了那么久的四边形不等式优化的原理,今天终于要写一篇关于它的证明了. 在平时的做题中,我们会遇到这样的区间dp问题 它的状态转移方程形式一般为dp[i][j]=min(dp[i][k]+dp[k+1] ...
- spyder常用功能
最近和同学讨论到spyder的使用技巧,所以就结合之前在网上看到网友的总结( https://blog.csdn.net/peiwang245/article/details/78528098)和自己 ...
- PHP类自动加载技术
在我们平时用框架比如laravel时,只要在app目录下的任意路基文件中,如下使用就可以实例化一个对象. $u = new App\Model\User() 我们知道,原生PHP要想实例化一个其他文件 ...
- VBA在WORD应用中如何确定文本是否被选定
确定文本是否被选定Selection 对象的 Type 属性返回所选内容类型的信息.如果所选内容为插入点,则下列示例显示一条消息. Sub IsTextSelected() If Selecti ...
- Linux中挂载详解以及mount命令用法
转自:https://blog.csdn.net/daydayup654/article/details/78788310 挂载概念 Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录 ...
- centos7 十万并发 关健配置
vim /etc/sysctl.conf,添加 --开机启动加载内核参数:fs.file-max = 65535kernel.sem=250 32000 100 128 /proc/sys/kerne ...
- CSS常用属性-xy
一.文本Text CSS text-align 属性 文本对齐方式 CSS text-decoration 属性 text-decoration 属性规定添加到文本的修饰 CSS line-heigh ...
- unzip解压war包并覆盖
unzip -o blog.war -d BLOG 参数: -o 不进行询问直接覆盖 -d 压缩文件解压到BLOG文件夹下 详细使用语法: unzip [-Z] [-opts[modifiers]] ...
- python基础---面向对象的概念
1.面向对象 什么是面向过程?? 将一个复杂单位问题一步步小化,最终只需要完成一个人小的功能就可以了 比如:将大象放进冰箱要几步? 一共三步:打开冰箱,把大象塞进入,关门就可以了 优点:复杂度降低了, ...