zoukankan      html  css  js  c++  java
  • Openstack-Mitaka Keystone 部署心得

    Openstack-Mitaka Keystone 部署心得

    标签 : Openstack


    最近,开始学习 openstack,并尝试部署 keystone 认证模块,所用的版本为 Mitaka 版本。由于我完全是新手,而且官方文档有些细节没说清楚,或者有些出入,所以爬了一些坑,现在写个总结心得。

    系统环境为 Centos 6.7。
    把节点的 hostname 设置为 controller。
    编辑 /etc/hosts文件如下:

    # controller
    127.0.0.1       controller
    

    keystone-client

    安装 python-openstackclientpython-keystoneclient,通过 CLI 命令进行交互。

    1. openstack
        适用于全局,可管理和查看各类信息。
    
    2. keystone-manage
        用于启动 keystone 模块数据、初始化数据库、生成 SSL 相关的证书和私钥。keystone 命令已废弃。
    

    这些 client 不依赖于配置文件,但与环境变量、命令行参数有关。


    keystone模块

    首先,从 github 上把 keystone 模块克隆下来。

    $ git clone https://git.openstack.org/openstack/keystone.git -b stable/mitaka
    $ cd keystone
    

    安装 keystone web 服务 (如有其它版本的 pip 可自行更换,例如 pip27 ):

    $ pip install .
    

    该 keystone 模块依赖于配置文件,例如,/etc/keystone/keystone.conf,但与环境变量无关。


    配置文件

    你可以在 /etc 文件夹下找到以下配置文件:

    keystone.conf
    keystone-paste.ini
    logging.conf
    policy.json
    default_catalog.templates
    

    编辑 /etc/keystone/keystone.conf, 并完成以下改动:

    • 在 [DEFAULT] 部分中,定义初始管理员的令牌:
    [DEFAULT]
    ...
    admin_token = ADMIN_TOKEN
    

    还没有建立其它 user时, openstack 命令可加上 --os-token=ADMIN_TOKEN 来通过验证。

    • 在 [database] 部分中,配置数据库连接:
    [database]
    ...
    connection = sqlite:///keystone.db (可自定义)
    
    • 在 [token] 中,配置 Fernet 令牌提供者,也可选择 pki 的方式:
    [token]
    ...
    provider = fernet
    

    初始化数据库:

    keystone-manage db_sync
    

    初始化 Fernet 私钥:

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    

    选择 pki 方式的话,就是:

    # keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
    

    keystone-userkeystone-group 为实际用户及组。


    运行

    可通过 uwsgi 方式运行:

    $ uwsgi --http 127.0.0.1:35357 --wsgi-file $(which keystone-wsgi-admin)
    $ uwsgi --http 127.0.0.1:5000 --wsgi-file $(which keystone-wsgi-public)
    

    也可通过 Apache HTTPD 的方式运行,具体见官网。


    创建 admin 用户角色

    keystone 可通过以下命令行来初始化:

    $ keystone-manage bootstrap 
        --bootstrap-password s3cr3t 
        --bootstrap-username admin 
        --bootstrap-project-name admin 
        --bootstrap-role-name admin 
        --bootstrap-service-name keystone 
        --bootstrap-region-id RegionOne 
        --bootstrap-admin-url http://localhost:35357 
        --bootstrap-public-url http://localhost:5000 
        --bootstrap-internal-url http://localhost:5000
    

    然后就可以在 openstack 命令行里使用 admin 账号登录了。

    可通过以下方式,来测试是否已配置合理:

    $ openstack project list --os-username admin --os-project-name admin 
        --os-user-domain-id default --os-project-domain-id default 
        --os-identity-api-version 3 --os-auth-url http://localhost:5000 
        --os-password s3cr3t
    

    环境变量

    $ export OS_AUTH_URL=http://controller:35357/v3
    $ export OS_URL=http://controller:35357/v3
    $ export OS_IDENTITY_API_VERSION=3
    $ export OS_PROJECT_NAME=admin
    $ export OS_USERNAME=admin
    $ export OS_PASSWORD=admin
    

    这是 Identity API 的 V3版本使用样例,V3将全面应用。
    V2 版本即将废弃,仍需使用,将 URL中的/v3改成/v2.0,并将OS_IDENTITY_API_VERSION那行不用即可。

    创建项目见官网。

  • 相关阅读:
    RIGHT-BICEP单元测试——“二柱子四则运算升级版”
    个人项目之“二柱子四则运算升级版”(续)
    个人项目之 “二柱子四则运算”升级版
    “进度条”博客
    课后实验3--四则运算3
    构建之法阅读笔记01
    第二周学习进度
    四则运算2单元测试
    课后实验2--四则运算2
    课后实验1--四则运算
  • 原文地址:https://www.cnblogs.com/linyihan/p/5785381.html
Copyright © 2011-2022 走看看