openstack部署keystone
环境:
免密钥,域名解析
cat /etc/hosts
192.168.42.120 controller
192.168.42.121 compute
192.168.42.122 storage
安装服务
一、安装openstack软件包
1.安装openstack python客户端
yum install python-openstackclient
2.安装openstack selinux 的组件
yum install openstack-selinux
二、数据库
1.安装mariadb mariadb-server python2-pyMySQL
yum install mariadb mariadb-server python2-PyMySQL
2.配置openstack配置文件
vim /etc/my.cnf.d/openstack.cnf
[mysqld] bind-address = 192.168.42.120 监听的地址
default-storage-engine = innodb 默认数据库引擎
innodb_file_per_table = on
max_connections = 4096 最大链接数(最好写大点)
collation-server = utf8_general_ci 字符集
character-set-server = utf8 server端的字符集
3.重启并设置开机自启数据库
systemctl restart mariadb.service
systemctl enable mariadb.service
4.初始化数据库
mysql_secure_installation
三、消息队列
1.安装rabbitmq服务
yum install rabbitmq-server
2.重启并设置开机自启rabbitmq
systemctl restart rabbitmq-srever.service
systemctl enable rabbitmq-server.service
3.添加用户并设置权限,设置为管理员
rabbitmqctl add_user openstack admin
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
rabbitmqctl set_user_tags openstack administrator
4.浏览器登录查看是否设置成功
192.168.42.120:15672
四、memcache
1.安装缓存系统
yum install memcached python-memcached
2.编辑配置文件
vim /etc/sysconfig/mamcached
OPTIONS="-l 127.0.0.1,::1,controller"
写域名不写ip的原因:以后ip变化不需要修改配置文件,直接修改/etc/hosts文件即可
3.重启并设置开机自启
systemctl restart memcached
systemctl enable memcached
配置身份认证服务
一、.安装部署keystone
1.登录数据库,创建以一个keystone数据库,并设置权限,可以第三方登录
mysql -uroot -p0330
create database keystone
grant all privileges on keystone.* to keystone@localhost identified by "keystone"
grant all privileges on keystone.* to keystone@'%' identified by "keystone"
2.安装keystone服务(通过调用http服务对外提供服务)
yum install openstack-keystone httpd mod_wsgi
3.修改配置文件
cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak 先复制再修改
vim /etc/keystone/keystone.conf
-rw-r-----. 1 root keystone 771 6月 3 15:34 keystone.conf
4.同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
5.创建fornet配置,设置一个keystone用户和keystone组
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
6.创建keystone用户的身份信息
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
7.keystone服务的服务端点(必须是controller的主机名)
keystone-manage bootstrap --bootstrap-password admin \ admin是openstack用户的密码
--bootstrap-admin-url http://controller:35357/v3/ \ 管理网的服务端点:主机名:端口号:api版本
--bootstrap-internal-url http://controller:5000/v3/ \ 内部
--bootstrap-public-url http://controller:5000/v3/ \ 公共
--bootstrap-region-id RegionOne
8.编辑apache服务
vim /etc/httpd/conf/httpd.conf
ServerName controller
9.通过wsgi这个模块调用apache(把模块链接到keystone的配置文件夹下)
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
10.重启并设置开机自启httpd
systemctl restart httpd
systemctl enable httpd
11.创建admin用户的环境变量
vim openrc
export OS_USERNAME=admin 宣告变量OS_USERNAME的值是admin
export OS_PASSWORD=admin 密码是admin
export OS_PROJECT_NAME=admin 项目是admin
export OS_USER_DOMAIN_NAME=Default 所处在的domain域
export OS_PROJECT_DOMAIN_NAME=Default 项目域的名字
export OS_AUTH_URL=http://controller:35357/v3 服务端点
export OS_IDENTITY_API_VERSION=3 API版本
二、创建domain, projects, users, and roles
每次使用openstack命令之前必须宣告环境变量
1.创建项目
openstack project create --domain default \ --description "Service Project" service 域名叫default 项目service
2.创建一个名为demo的项目,域名叫default
openstack project create --domain default \ --description "Demo Project" demo
openstack project list 查看项目列表
3.创建demo的用户,处在default域中,弹出一个交互式的界面
openstack user create --domain default \ --password-prompt demo
openstack user list 查看用户列表
4.创建一个user角色
openstack role create user 普通用户
5.将一个demo项目里的demo用户的角色设为user
openstack role add --project demo --user demo user
6.取消环境变量的值
unset OS_AUTH_URL OS_PASSWORD
7.验证
openstack --os-auth-url http://controller:35357/v3 \ keystone的服务端点
--os-project-domain-name default 登录的项目域名default
--os-user-domain-name default \ 用admin项目里的admin用户登录
--os-project-name admin --os-username admin token issue 采用token的方式验证
出现交互式界面输入admin
以上keystone服务部署完成。
openstack部署keystone的更多相关文章
- openstack 之~keystone部署
第一:版本信息 官网http://docs.openstack.org/newton/install-guide-rdo/keystone.html 我们按照Newton这个版本来部署,opensta ...
- openstack之keystone部署
前言 openstack更新频率是挺快的,每六个月更新一次(命名是是以A-Z的方式,Austin,Bexar...Newton).博主建议大家先可一种版本研究,等某一版本研究透彻了,在去研究新的版本. ...
- Openstack组件部署 — keystone(domain, projects, users, and roles)
目录 目录 前文列表 Create a domain projects users and roles domain projects users and roles的意义和作用 Create the ...
- Openstack组件部署 — Keystone Install & Create service entity and API endpoints
目录 目录 前文列表 Install and configure Prerequisites 先决条件 Create the database for identity service 生成一个随机数 ...
- Openstack部署工具
Openstack发展很猛,很多朋友都很认同,2013年,会很好的解决OpenStack部署的问题,让安装,配置变得更加简单易用. 很多公司都投入人力去做这个,新浪也计划做一个Openstack的is ...
- 《OpenStack部署实践》
<OpenStack部署实践> 基本信息 作者: 张子凡 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115346797 上架时间:2014-2-27 出版日期:2014 ...
- OpenStack之Keystone模块
一.Keystone介绍 OpenStack Identity(Keystone)服务为运行OpenStack Compute上的OpenStack云提供了认证和管理用户.帐号和角色信息服务,并为Op ...
- 网易OpenStack部署运维实战
OpenStack自2010年项目成立以来,已经有超过200个公司加入了 OpenStack 项目,目前参与 OpenStack 项目的开发人员有 17,000+,而且这些数字还在增加,作为一个开源的 ...
- OpenStack核心组件-keystone
1. Keystone介绍 keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等 ...
随机推荐
- kotlin字符串和数字之间的转换和人机交互
继续基础学习~ 字符串和数字之间的转换 那如何转换呢,其实很简单: 编译木有报错,但是运行: 所以这里了解下. 人机交互 看这标题貌似高端的,其实也就是程序可以接受键盘的输入啦,下面开始: 首先提示用 ...
- javascript代码实用方法实现
javascript代码实用方法实现 针对现在大家平时开发中,都会写一些重复性的js处理代码,今天总结了几个比较常用的方法实现.获取get请求参数.去字符串空格. 1.获取get请求中的参数 ...
- Python——变量的作用域
原创声明:本文系博主原创文章,转载及引用请注明出处. 1. 在编程语言中,变量都有一定的作用域,用来限定其生命周期,且不同类型的变量作用域不同. 在Python中解释器引用变量的顺序(优先级)为:当前 ...
- Java通过腾讯邮箱发送邮件
private static void sendEmaill() { Properties prop = new Properties(); //协议 prop.setProperty("m ...
- 二进制;16进制; Byte , Python的bytes类; Base64数据编码; Bae64模块;
参考:中文维基 二进制 位操作(wiki) Byte字节 互联网数据处理:Base64数据编码 Python的模块Base64 16进制简介 python: bytes对象 字符集介绍:ascii 二 ...
- MyBatis笔记-03-CRUD
3.CRUD 1.namespace namespace中的包名要和Dao/mapper接口的包名保持一致 2.select 选择查询语句: id:就是对应的namespace中的方法名: resul ...
- Git-------常用操作记录
说明: 一般情况下,git要将内容提交到本地仓库,都是先将内容提交到暂存区,然后再从暂存区提交到本地仓库. 常用命令(一个简单的示例操作): git init:会默认创建一个分支,命名为master ...
- nginx 缓存,大文件分片请求方法
实现的途径:expire cache-control 更新缓存的机制 如何校验本地缓存是否过期 expires cache-control(max-age)如果超期,说明失效 然后进行etag是否过期 ...
- HDU-2072-单词数(字典树)
链接: https://vjudge.net/problem/HDU-2072 题意: lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面 ...
- 【原】eclipse save action设置文件保存时自动格式化
学了一段java了,发现其实eclipse有很多实用小功能,能够让你编码的时候快捷方便,如果你苦于一些你常用到的功能无法自动实现,那么你可以上网查一下,就会发现其实eclipse已经给你提供了便捷之路 ...