keystone配置概况

采用包安装方式安装的keystone,重要的文件结构有如下:

/etc/keystone/    - 包含keystone所有的配置信息

/var/log/keystone/   - 默认的日志输出目录

/usr/share/keystone/  - 包含初始化数据库需要的脚本sample_data.sh

这里建议将系统的日志输出、keystone的数据库、初始化数据库的脚本都配置到一个目录下,比如:/home/keystone,这样便于管理。

采用包安装方式安装的keystone配置文件在/etc/keystone目录下,主要的配置文件包括:
-----------------------------------------------------------------------------------------------------
default_catalog.templates     //目录配置文件,标注openstack其他服务的网络位置
ec2rc             
keystone.conf.dpkg-dist     //主配置文件模板
keystone.conf            //keystone主配置文件
keystone-paste.ini.dpkg-dist    //PasteDeploy配置文件模板
keystone-paste.ini         //PasteDeploy配置文件
logging.conf.sample        //日志配置文件模板
policy.json            //权限管理文件
ssl/                 //用来建立PKI的目录
------------------------------------------------------------------------------------------------------
keystone主要的配置文件介绍
keystone的配置文件是基于Paste的ini格式的通用Python WSGI配置应用,其中主要有,

1. keystone-paste.ini
  是PasteDeploy的配置入口点,在本文件中配置WSGI pipeline和filter等信

2. keystone.conf

  这是keystone最主要的配置文件,内容包括通用的配置参数和具体针对不同驱动的配置参数
 该文件的结构如下:

  • [DEFAULT] - General configuration
  • [assignment] - Assignment system driver configuration
  • [auth] - Authentication plugin configuration
  • [cache] - Caching layer configuration
  • [catalog] - Service catalog driver configuration
  • [credential] - Credential system driver configuration
  • [endpoint_filter] - Endpoint filtering extension configuration
  • [endpoint_policy] - Endpoint policy extension configuration
  • [federation] - Federation driver configuration
  • [identity] - Identity system driver configuration
  • [identity_mapping] - Identity mapping system driver configuration
  • [kvs] - KVS storage backend configuration
  • [ldap] - LDAP configuration options
  • [memcache] - Memcache configuration options
  • [oauth1] - OAuth 1.0a system driver configuration
  • [os_inherit] - Inherited role assignment extension
  • [paste_deploy] - Pointer to the PasteDeploy configuration file
  • [policy] - Policy system driver configuration for RBAC
  • [revoke] - Revocation system driver configuration
  • [saml] - SAML configuration options
  • [signing] - Cryptographic signatures for PKI based tokens
  • [ssl] - SSL configuration
  • [token] - Token driver & token provider configuration
  • [trust] - Trust extension configuration

--------------------------------------------------------------------------------------------------------

正常运行keystone需要的部分配置与操作

#锁定keystone端口,keystone使用在IANA注册的35357端口,为了避免冲突,可以将该端口从临时端口范围中排除(可选)

$ sudo sysctl -w 'net.ipv4.ip_local_reserved_ports=35357' 

#或者在/etc/sysctl.conf文件中添加相同的信息(可选)

$ sudo vim /etc/sysctl.conf

#在打开的文末添加

net.ipv4.ip_local_reserved_ports = 

#将配置目录划归给当前用户,使其启动keystone时拥有读取配置文件的权限

$ sudo chown -R darren:darren /etc/keystone

#配置keystone

$ vim /etc/keystone/keystone.conf

#取消这些字段前面的注释,激活默认配置

[DEFAULT]
admin_token=YOUR_ADMIN_TOKEN
public_bind_host=0.0.0.0
admin_bind_host=0.0.0.0
compute_port=
admin_port=
public_port=
public_endpoint=http://localhost:5000/
admin_endpoint=http://localhost:35357/
log_config_append=/etc/keystone/logging.conf
policy_file=policy.json [auth]
methods=external,password,token
password=keystone.auth.plugins.password.Password
token=keystone.auth.plugins.token.Token
external=keystone.auth.plugins.external.DefaultDomain [catalog]
template_file=default_catalog.templates
driver=keystone.catalog.backends.sql.Catalog [credential]
driver=keystone.credential.backends.sql.Credential [database]
#connection = sqlite:////var/lib/keystone/keystone.db
#格式 connection = mysql://USER:PASSWORD@HOST:PORT/DATABASE
connection = mysql://keystone:KEYSTONE_PASS@127.0.0.1:3306/keystone [identity]
driver=keystone.identity.backends.sql.Identity [paste_deploy]
config_file=keystone-paste.ini [signing]
certfile=/etc/keystone/ssl/certs/signing_cert.pem
keyfile=/etc/keystone/ssl/private/signing_key.pem
ca_certs=/etc/keystone/ssl/certs/ca.pem
ca_key=/etc/keystone/ssl/private/cakey.pem [token]
driver=keystone.token.backends.sql.Token

#后台重启keystone服务

$ keystone-all & 

#初始化keystone数据库,创建keystone数据库中的各个数据表

$ keystone-manage db_sync 

#将管理认证信息设置成系统变量,添加到.bashrc文件的末尾

cd
cat >> .bashrc
export OS_SERVICE_TOKEN=darren
export OS_SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0
ctrl-D

#初始化keystone数据,将相应的数据写入已经创建好的数据库

$ /usr/share/keystone/sample_data.sh

  至此为止已经完成keystone的初始化,以后可以利用keystone-all命令来启动keystone服务器和Identity API,用keystone-manage来实现一些线上不能完成的操作,用keystone CLI来与keystone服务器完成各种交互了。

  查看主配置文件keystone.conf的全面详细解读,参考《Juno版keystone配置完全详解》

  查看刚刚建立的数据库中新建了哪些数据表,参考《Juno版Keystone数据库结构》。

Ubuntu 14.04 LTS 配置 Juno 版 Keystone的更多相关文章

  1. Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone

    本文介绍如何在Ubuntu 14.04 LTS 上安装Juno版的Keystone, 我们采用的是手动安装的方式, 同时仅针对OpenStack的身份与访问管理系统Keystone. 事实上OpenS ...

  2. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

  3. U盘安装Ubuntu 14.04 LTS正式版

    Ubuntu 14.04 LTS正式版发布,而且提供五年的支持和维护服务.Ubuntu 14.04是Ubuntu开发团队历经五年的心血之作.许多新手都喜欢把Linux安装文件刻录成光盘再安装,而安装好 ...

  4. 从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS

      Ubuntu 16.04 (Xerial Xerus) Long Term Support版于最近发布了.要想了解它的新功能和新特性,就必须升级或安装这个新系统. 本文讲述怎样一步步从Ubuntu ...

  5. Ubuntu 14.04 LTS 安装Docker

    Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...

  6. Ubuntu 14.04 LTS 更新源大全

    Ubuntu 14.04 LTS 系统更新源汇总 如何使用这些系统更新源?---三步走 首先备份源列表: sudo cp /etc/apt/sources.list /etc/apt/sources. ...

  7. 如何在 Ubuntu 14.04 里面配置 chroot 环境

    你可能会有很多理由想要把一个应用.一个用户或者一个环境与你的 Linux 系统隔离开来.不同的操作系统有不同的实现方式,而在 Linux 中,一个典型的方式就是 chroot 环境. 在这份教程中,我 ...

  8. 【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码

    原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码       ...

  9. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

随机推荐

  1. 在进行vue的学习,项目中需要引入bootstrap、jquery的步骤。

    在进行vue的学习,项目中需要引入bootstrap.jquery的步骤. 一.引入jQuery 在当前项目的目录下(就是package.json),运行命令 cnpm install jquery ...

  2. LeetCode: Triangle 解题报告

    Triangle Given a triangle, find the minimum path sum from top to bottom. Each step you may move to a ...

  3. nohup 后台启动程序,并输出到指定日志

    1.启动程序并输入到指定日志 nohup python manage.py runserver 0.0.0.0:9090 > /data/zyj/xadstat/xadstat.log 2&am ...

  4. 【论文笔记】CNN for NLP

    什么是Convolutional Neural Network(卷积神经网络)? 最早应该是LeCun(1998)年论文提出,其结果如下:运用于手写数字识别.详细就不介绍,可参考zouxy09的专栏, ...

  5. S3C2440时钟体系结构

    任意一款单板,我们了解其时钟都是通过时钟树来的. 这里没有全部截完,只是讲解时钟来源,OSC代表晶振,这说明我们的时钟可以来至晶振OSC也可以来至外部输入EXTCLK,这是通过OM选择器来完成的. 2 ...

  6. tf.truncated_normal

    tf.truncated_normal truncated_normal( shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name ...

  7. iOS开发如何在一个透明视图上添加不透明的子控件

    相信很多同学都会遇到过这个问题, 当我们弹出一个半透明的遮盖层时, 又想在遮盖层上加一些子视图, 这个时候如果你的遮盖层设置了alpha属性,  你会惊讶的发现, 加载遮盖层上的所有子控件都是透明了, ...

  8. YII登陆错误 mcrypt_create_iv()

    使用php框架YII进行开发的时候,虽然很快,性能很好,但是也有一些小问题,现在记录下来. 1.在使用gii的自动代码生成后,登陆系统,就会报错 mcrypt_create_iv() [<a h ...

  9. C#中使用Buffer.BlockCopy()方法将string转换为byte array的方法:

    public static void BlockCopy(Array src, int srcOffset, Array dst, int dstOffset, int count); 将指定数目的字 ...

  10. Activiti Modeler初探实践

    以下内容对实践activiti很有用,不过我用的不是github下载的源码包编译出来的war包,不知道什么原因我打出来的包会有点问题.不过这不重要,换个地方下载来源就行,下载网址: http://dl ...