openstack-on-centos7之各组件服务
认证服务keystone(安装和配置)
在配置 OpenStack 身份认证服务前,必须创建一个数据库和管理员令牌
[用数据库连接客户端以root用户连接到数据库服务]
# mysql -u root -p
[创建keystone数据库]
# CREATE DATABASE keystone
[对keystone数据库给予授权]
# GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS'; //KEYSTONE_DBPASS替换成自己的密码
# GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS'; //KEYSTONE_DBPASS替换成自己的密码
[主节点安装配置keystone]
安装openstack-keystone和httpd mod_wsgi
# yum -y install openstack-keystone httpd mod_wsgi
修改配置keystone配置文件:/etc/keystone/keystone.conf
[database]部分添加:
connection = mysql+pymysql://keystone:ketstone@localhost:3306/keystone
@用户名:密码@mysql地址/哪个库
[token]令牌部分添加:
provider = fernet
初始化数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化Fernet key库(生成token)
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
[配置 Apache HTTP 服务器]
编辑配置文件:/etc/httpd/conf/httpd.conf
ServerName controller //controller为主机名字
拷贝wsgi-keystone.conf
# cp /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
启动httpd服务
# systemctl start httpd.service #启动httpd服务
# systemctl enable httpd.service #设置成开机自启
查看服务状态
[创建keystone的catalog]
配置/etc/keystone/keystone.conf
# openssl rand -hex 10 //生成一个随机值在初始的配置中作为管理员的令牌
[DEFAULT]部分添加:
admin_token="openssl rand -hex 10"生成的随机数
设置环境变量
# vim ~/.bashrc
[添加一下内容]
export OS_TOKEN= admin_token //keystone.conf中admin_token的值
export OS_URL=http://192.168.1.156:35357/v3 //v3代表用的keystone版本为3
export OS_IDENTITY_API_VERSION=3
为keystone创建catalog
# openstack service create --name keystone --description "OpenStack Identity" identity
基于建立的服务实体,创建访问该实体的三个api端点
# openstack endpoint create --region RegionOne identity public http://192.168.1.156:5000/v3
openstack endpoint create --region RegionOne identity internal http://192.168.1.156:5000/v3 //前两个为5000端口,专门处理内部和外部的访问
openstack endpoint create --region RegionOne identity admin http://192.168.1.156:35357/v3 //5357端口,专门处理admin#用keystone-wsgi-admin
登录数据库查看keystone库中的表
[创建域,项目,用户,角色,并把四个元素关联在一起]
创建域
openstack domain create --description "Default Domain" default //#创建一个默认的域“default”
创建管理的项目,用户和角色
创建admin项目,在"default"域中
openstack project create --domain default --description "Admin Project" admin
创建admin用户 在“default”域中
openstack user create --domain default --password-prompt admin
创建admin角色
openstack role create admin
添加admin
角色到 admin 项目和用户上:
openstack role add --project admin --user admin admin
验证:
# openstack role assignment list
# openstack role list
# openstack user list
# openstack project list
[测试]
在“default”域中,创建项目名为fzu
openstack project create --domain default --description "FZU Project" fzu
创建用户名为zlx(自己名字的缩写)
openstack user create --domain default --password-prompt zlx
创建普通用户的角色
openstack role create user
添加admin角色到fzu项目和用户zlx上
openstack role add --project fzu --user zlx admin
验证
# openstack role assignment list
# openstack role list
# openstack user list
# openstack project list
处于安全考虑 关闭临时认证令牌机制
编辑/etc/keystone/keystone-paste.ini
从[pipeline:public_api]
,[pipeline:admin_api]和
[pipeline:api_v3]部分删除
admin_token_auth 。
重置OS_TOKEN
和OS_URL
环境变量:
unset OS_TOKEN OS_URL
作为admin用户,请求认证令牌:
openstack --os-auth-url http://192.168.1.156:35357/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name admin --os-username admin token issue
作为zlx用户,请求认证令牌:
openstack --os-auth-url http://192.168.1.156:5000/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name fzu --os-username zlx token issue
在etc/keystone下新建文件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=ADMIN_PASS //ADMIN_PASS为admin密码
export OS_AUTH_URL=http://192.168.1.156:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
同理新建文件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_PASS //ADMIN_PASS为demo用户密码
export OS_AUTH_URL=http://192.168.1.156:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
使用脚本验证
source admin-openrc
openstack token issue
[使用openstack api实现]
获取token:
curl -v -s -X POST $OS_AUTH_URL/auth/tokens?nocatalog -H "Content-Type: application/json" -d '{ "auth": { "identity": { "methods": ["password"],"password": {"user": {"domain": {"name": "'"$OS_USER_DOMAIN_NAME"'"},"name": "'"$OS_USERNAME"'", "password": "'"$OS_PASSWORD"'"} } }, "scope": { "project": { "domain": { "name": "'"$OS_PROJECT_DOMAIN_NAME"'" }, "name": "'"$OS_PROJECT_NAME"'" } } }}' | python -m json.tool
用火狐浏览器下载安装restClient
参考:https://developer.openstack.org/api-ref/identity/v3/
[获取token]
URL地址为:htttp://192.168.1.156:35357/v3/auth/tokens
在header添加Content-Type=application/json
body
请求token成功:状态码(201)
[获取/创建/修改/删除domain]
- 获取damain
URL:http://192.168.1.156:35357/v3/domains
在header添加Content-Type=application/json
X-Auth-Token:获取的token值
请求成功:
- 创建domain
URL:http://192.168.1.156:35357/v3/damains
在header添加Content-Type=application/json
X-Auth-Token:获取的token值
创建成功:
修改domain
删除domain
先将状态改成false
再删除成功
[获取catalog]
[获取service]
[创建service]
[修改service]
[删除service]
openstack-on-centos7之各组件服务的更多相关文章
- Centos7 install Openstack - (第四节)添加计算服务(Nova)
Centos7 install Openstack - (第四节)添加计算服务(Nova) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack官方 ...
- #openstack centos6 centos7 kvm镜像制作
#openstack centos6 centos7 kvm 镜像制作 openstack windows 2008镜像 制作 http://www.cnblogs.com/elvi/p/800129 ...
- 云计算OpenStack:云计算介绍及组件安装(一)--技术流ken
云计算介绍 当用户能够通过互联网方便的获取到计算.存储等服务时,我们比喻自己使用到了“云计算”,云计算并不能被称为是一种计算技术,而更像是一种服务模式.每个运维人员心里都有一个对云计算的理解,而最普遍 ...
- [ Openstack ] Openstack-Mitaka 高可用之 网络服务(Neutron)
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- OpenStack Train版-7.neutron网络服务概述
网络服务NEUTRON概述 一.NEUTRON架构 OpenStack的网络服务neutron是整个OpenStack中最复杂的一个部分,它的基本架构是一个中心服务(neutron-server)外加 ...
- 在 CentOS7 上部署 zookeeper 服务
在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...
- win7 64位DCOM配置(关于导出excel 配置计算机组件服务)(转)
http://blog.sina.com.cn/s/blog_9323b3a50101qrxm.html [解决方案1] 1:在服务器上安装office的Excel软件. 2:在"开始&qu ...
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。
今天写ASP.NET程序,在网页后台的c#代码里写了个事务,事务内部对一张表进行批量插入,对另外一张表进行查询与批量插入. 结果第二张表查询后foreach迭代操作时报错:已禁用对分布式事务管理器(M ...
- CentOS7下安装SVN服务端
CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...
- WIN7中组件服务中的DCOM配置找不到Microsoft Excel应用程序的解决办法
转自:http://blog.csdn.net/lploveme/article/details/8215265 在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Micro ...
随机推荐
- fatal: LF would be replaced by CRLF in index.html
进入项目目录,在.git文件夹下打开config配置文件,添加上下面两句话: autocrlf = false safecrlf = false 即可
- Linux学习笔记-基本操作2
1. 压缩包管理2. 进程管理3. 网路管理4. ftp服务器搭建5. nfs服务器搭建6. ssh服务器7. scp命令8. 其他命令9. 关机重启 1. 压缩包管理 1>. 屌丝版:不能对目 ...
- 第十三章 ReentrantLock 简介
Java 5.0 提供的新的加锁机制:当内置加锁机制不适合时 , 作为一种可选择的高级功能 一个可重入的互斥锁 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一 ...
- Redis---Hash(字典)
1. 概述 Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿). ...
- oracle expdp impdp 导入导出备份
数据库导入导出: 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORA ...
- VS 插件 Productivity Power Tools - 更改 选项卡组件位置
Visual Studio 2013怎么把选项卡设置在左侧显示?vs中选项卡默认显示在顶部,但是更习惯显示在左侧,该怎么设置呢?为了更方便使用,下面分享VS2013选项卡设置在左侧显示的图文教程 Vi ...
- gradle构建工具
在使用android studio开发android程序时,as就是基于gradle进行构建的,我们只需要通过run就可以编译.打包.安装,非常方便,但是究竟gradle是什么呢? 一.java构建 ...
- java项目日志写到logstash-TCP/UDP
好处:项目日志写到logstash,然后发送到ElasticSearch,可以方便查看搜索日志,还可以做报表分析. logstash是一个数据采集工具,有多种渠道,比如文件,tcp,udp等,如果是采 ...
- 微信 JS-SDK 签名验证
doc: http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html demo:http://demo.open.weix ...
- Python基础之好玩的字符串格式化之类C风格
今天白月黑羽和大家说说字符串格式化,在python3中,字符串格式化主要有2种方法,今天先和大家介绍类C风格的printf. printf 风格 这种方式 和 传统的C语言printf函数使用一样的格 ...