环境:

免密钥,域名解析

  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

[DEFAULT]
 
[assignment]
 
[auth]
 
[cache]
 
[catalog]
 
[cors]
 
[cors.subdomain]
 
[credential]
 
[database]
 
[domain_config]
 
[endpoint_filter]
 
[endpoint_policy]
 
[eventlet_server]
 
[federation]
 
[fernet_tokens]
 
[healthcheck]
 
[identity]
 
[identity_mapping]
 
[kvs]
 
[ldap]
 
[matchmaker_redis]
 
[memcache]
 
[oauth1]
 
[oslo_messaging_amqp]
 
[oslo_messaging_kafka]
 
[oslo_messaging_notifications]
 
[oslo_messaging_rabbit]
 
[oslo_messaging_zmq]
 
[oslo_middleware]
 
[oslo_policy]
 
[paste_deploy]
 
[policy]
 
[profiler]
 
[resource]
 
[revoke]
 
[role]
 
[saml]
 
[security_compliance]
 
[shadow_users]
 
[signing]
 
[token]
provider = fernet   用fornet组件创建token
 
[tokenless_auth]
 
[trust]

  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的更多相关文章

  1. openstack 之~keystone部署

    第一:版本信息 官网http://docs.openstack.org/newton/install-guide-rdo/keystone.html 我们按照Newton这个版本来部署,opensta ...

  2. openstack之keystone部署

    前言 openstack更新频率是挺快的,每六个月更新一次(命名是是以A-Z的方式,Austin,Bexar...Newton).博主建议大家先可一种版本研究,等某一版本研究透彻了,在去研究新的版本. ...

  3. Openstack组件部署 — keystone(domain, projects, users, and roles)

    目录 目录 前文列表 Create a domain projects users and roles domain projects users and roles的意义和作用 Create the ...

  4. Openstack组件部署 — Keystone Install & Create service entity and API endpoints

    目录 目录 前文列表 Install and configure Prerequisites 先决条件 Create the database for identity service 生成一个随机数 ...

  5. Openstack部署工具

    Openstack发展很猛,很多朋友都很认同,2013年,会很好的解决OpenStack部署的问题,让安装,配置变得更加简单易用. 很多公司都投入人力去做这个,新浪也计划做一个Openstack的is ...

  6. 《OpenStack部署实践》

    <OpenStack部署实践> 基本信息 作者: 张子凡 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115346797 上架时间:2014-2-27 出版日期:2014 ...

  7. OpenStack之Keystone模块

    一.Keystone介绍 OpenStack Identity(Keystone)服务为运行OpenStack Compute上的OpenStack云提供了认证和管理用户.帐号和角色信息服务,并为Op ...

  8. 网易OpenStack部署运维实战

    OpenStack自2010年项目成立以来,已经有超过200个公司加入了 OpenStack 项目,目前参与 OpenStack 项目的开发人员有 17,000+,而且这些数字还在增加,作为一个开源的 ...

  9. OpenStack核心组件-keystone

    1. Keystone介绍 keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等 ...

随机推荐

  1. kotlin字符串和数字之间的转换和人机交互

    继续基础学习~ 字符串和数字之间的转换 那如何转换呢,其实很简单: 编译木有报错,但是运行: 所以这里了解下. 人机交互 看这标题貌似高端的,其实也就是程序可以接受键盘的输入啦,下面开始: 首先提示用 ...

  2. javascript代码实用方法实现

    javascript代码实用方法实现   针对现在大家平时开发中,都会写一些重复性的js处理代码,今天总结了几个比较常用的方法实现.获取get请求参数.去字符串空格.   1.获取get请求中的参数  ...

  3. Python——变量的作用域

    原创声明:本文系博主原创文章,转载及引用请注明出处. 1. 在编程语言中,变量都有一定的作用域,用来限定其生命周期,且不同类型的变量作用域不同. 在Python中解释器引用变量的顺序(优先级)为:当前 ...

  4. Java通过腾讯邮箱发送邮件

    private static void sendEmaill() { Properties prop = new Properties(); //协议 prop.setProperty("m ...

  5. 二进制;16进制; Byte , Python的bytes类; Base64数据编码; Bae64模块;

    参考:中文维基 二进制 位操作(wiki) Byte字节 互联网数据处理:Base64数据编码 Python的模块Base64 16进制简介 python: bytes对象 字符集介绍:ascii 二 ...

  6. MyBatis笔记-03-CRUD

    3.CRUD 1.namespace namespace中的包名要和Dao/mapper接口的包名保持一致 2.select 选择查询语句: id:就是对应的namespace中的方法名: resul ...

  7. Git-------常用操作记录

    说明: 一般情况下,git要将内容提交到本地仓库,都是先将内容提交到暂存区,然后再从暂存区提交到本地仓库. 常用命令(一个简单的示例操作): git init:会默认创建一个分支,命名为master ...

  8. nginx 缓存,大文件分片请求方法

    实现的途径:expire cache-control 更新缓存的机制 如何校验本地缓存是否过期 expires cache-control(max-age)如果超期,说明失效 然后进行etag是否过期 ...

  9. HDU-2072-单词数(字典树)

    链接: https://vjudge.net/problem/HDU-2072 题意: lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面 ...

  10. 【原】eclipse save action设置文件保存时自动格式化

    学了一段java了,发现其实eclipse有很多实用小功能,能够让你编码的时候快捷方便,如果你苦于一些你常用到的功能无法自动实现,那么你可以上网查一下,就会发现其实eclipse已经给你提供了便捷之路 ...