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家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等 ...
随机推荐
- JavaScript设计模式与开发实践(一)
一.this this的指向大致可以分为以下几种: 作为对象的方法调用 作为普通函数调用 构造器调用 Function.prototype.call或Function.prototype.apply ...
- Win7 右键 新建图标消失的解决办法
方法一: 把下面一段代码存在一个记事本上,再选择另存为1.cmd,最后运行! regsvr32 /u /s igfxpph.dll reg delete HKEY_CLASSES_ROOT\Direc ...
- 使用Quartus进行功能仿真时出现“testbench_vector_input_file option does not exist”的解决方法
环境:本人使用的Quartus 18 Prime Standard Edition 1.新建一个vmf文件 添加Node或者Bus 2.点击Processing->Start->S ...
- php类知识---最疯狂的魔术方法serialize,_sleep,__wakeup,unserialize,__autoload,__clone
serialize-----把实例化的对象写入文件 __sleep 调用serialize时触发 <?php class mycoach { public function __construc ...
- (转载) Consul 使用手册(感觉比较全了)
使用consul 介绍 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul的客户端可用提供一个服务,比如 api 或者 ...
- Helvetic Coding Contest 2019
题目链接:戳我 小注:其中部分(大括号不换行的)代码是BLUESKY007神仙写的. 咕 CF1184 A1 直接枚举,以根号的时间复杂度判断即可.注意x,y都是正整数. #include<io ...
- 关于在mac上使用valet集成环境添加memcache扩展
由于业务要求需要使用到memcache,直接使用brew安装在phpinfo上面显示并没有加载成功,使用以下方法时我们需要先卸载之前已经安装完成的memcache brew unlink php70- ...
- js获取键盘编码
原理:键盘上的按键都有各自的键码,通过这个键码可以来判断按下的是哪个键,下面函数可以获取键盘的键码,按下键盘按键就会在控制台打印出相应的键码 document.addEventListener(&qu ...
- js计算textarea输入文字的长度
前言 日常开发过程中,有些时候我们想使用textarea,然后限制输入的长度,在textarea末尾显示剩余可输入的字节数. 如下图: 解决方法: 常用的有三种方法: 1.通过判断charCodeA ...
- ARTS打卡计划第一周
Algorithms: https://leetcode-cn.com/problems/two-sum/ Review: https://www.infoq.cn/article/EafgGJEtq ...