S1_搭建分布式OpenStack集群_04 keystone认证服务安装配置
一、新建数据库及用户(控制节点)
# 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认证服务安装配置的更多相关文章
- S1_搭建分布式OpenStack集群_10 cinder 存储节点配置
一.安装配置lvm2安装LVM包:# yum install -y lvm2 启动LVM元数据服务,并将其配置为在系统启动时启动:# systemctl enable lvm2-lvmetad.ser ...
- S1_搭建分布式OpenStack集群_09 cinder 控制节点配置
一.创建数据库创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE cinder;MariaDB [(none ...
- S1_搭建分布式OpenStack集群_12 界面horizon安装
一.界面的安装控制节点安装软件包:# yum install openstack-dashboard -y 修改配置文件:# vim /etc/openstack-dashboard/local_se ...
- S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置
一.安装mysql(contorller)controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 ...
- S1_搭建分布式OpenStack集群_02 虚拟机环境配置
一.配置主机名及hosts和防火墙(只演示一台,其他机器配置方式一样)vim /etc/hosts 加入 10.10.11.11 controller10.10.11.12 compute11 ...
- S1_搭建分布式OpenStack集群_01 准备虚拟机
Openstack版本:openstack-queen 版本 一.环境准备 网络规划: Management + API Network:10.10.11.0/24 eth1 网桥:br1 VM ...
- S1_搭建分布式OpenStack集群_07 nova服务配置 (计算节点)
一.服务安装(计算节点)安装软件:# yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容:# vim /etc/n ...
- S1_搭建分布式OpenStack集群_08 网络服务(neutron)安装部署
一.数据库配置(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE neutron;MariaDB ...
- S1_搭建分布式OpenStack集群_06 nova服务配置 (控制节点)
一.创建数据库(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE nova_api;MariaD ...
随机推荐
- SqlServer调用OPENQUERY函数远程执行增删改查
/* OPENQUERY函数,远程执行数据库增删改查 关于OPENQUERY函数第二个参数不支持拼接变量的方案 方案1:将OPENQUERY语句整个拼接为字符串,再用EXEC执行该字符串语句 方案2: ...
- ELK学习笔记之logstash的各个场景应用(配置文件均已实践过)
详细请参考该文 https://www.cnblogs.com/qingqing74647464/p/9378385.html
- java之spring之依赖注入
一.DI: Dependency injection; 依赖注入 依赖注入和控制反转是同一个概念的不同说法. 对象的创建依赖于容器.对象属性的设置是由容器来设置. 对象属性的赋值过程称为注入. 二.S ...
- C# vb .net图像合成-合成艺术字 照片合成艺术字
在.net中,如何简单快捷地实现图像合成呢,比如合成文字,合成艺术字,多张图片叠加合成等等?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码 ...
- Go defer 会有性能损耗,尽量不要用?
上个月在 @polaris @轩脉刃 的全栈技术群里看到一个小伙伴问 “说 defer 在栈退出时执行,会有性能损耗,尽量不要用,这个怎么解?”. 恰好前段时间写了一篇 <深入理解 Go def ...
- 使用poi调整字体格式、添加单元格注释、自动调整列宽
1 创建新的工作铺 import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org ...
- 类中__iter__与__next__的说明
class Fab(object): def __init__(self ,max ): self.max =max self.n =0 self.a=0 self.b =1 def __iter__ ...
- 79.mobile/js---手机端分享调用功能的实现(只能在真机上测试有效)
html:<a href="javascript:void(0);" class="all-share" onclick="call('defa ...
- 房地产propretie财产
property 1. 财产:所有物(不可数); 地产, 房地产 He has a large property in the county. 他在这个县有一大宗地产. 1.Propretie obs ...
- PYTHON 文件读写、坐标寻址、查找替换
读文件 打开文件(文件需要存在) #打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() ...