• openstack安装记录(二)keystone安装


    先决条件

    在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌。

    1. 完成下面的步骤以创建数据库:

      • 用数据库连接客户端以 root 用户连接到数据库服务器:

        $ mysql -u root -p
        
      • 创建 keystone 数据库:

        CREATE DATABASE keystone;
        
      • 对``keystone``数据库授予恰当的权限:

        GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' 
          IDENTIFIED BY 'KEYSTONE_DBPASS';
        GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' 
          IDENTIFIED BY 'KEYSTONE_DBPASS';
        

        用合适的密码替换 KEYSTONE_DBPASS 。

      • 退出数据库客户端。

    2. 生成一个随机值在初始的配置中作为管理员的令牌。

      $ openssl rand -hex 10
      

    安全并配置组件

     

     
    注解

    默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。

     

     
    注解

    教程使用带有``mod_wsgi``的Apache HTTP服务器来服务认证服务请求,端口为5000和35357。缺省情况下,Kestone服务仍然监听这些端口。然而,本教程手动禁用keystone服务。

    1. 运行以下命令来安装包。

      # yum install openstack-keystone httpd mod_wsgi
      
    1. 编辑文件 /etc/keystone/keystone.conf 并完成如下动作:

      • 在``[DEFAULT]``部分,定义初始管理令牌的值:

        [DEFAULT]
        ...
        admin_token = ADMIN_TOKEN
        

        使用前面步骤生成的随机数替换``ADMIN_TOKEN`` 值。

      • 在 [database] 部分,配置数据库访问:

        [database]
        ...
        connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
        

        将``KEYSTONE_DBPASS``替换为你为数据库选择的密码。

      • 在``[token]``部分,配置Fernet UUID令牌的提供者。

        [token]
        ...
        provider = fernet
        
    1. 初始化身份认证服务的数据库:

      # su -s /bin/sh -c "keystone-manage db_sync" keystone
      注解

      忽略输出中任何不推荐使用的信息。

    2. 初始化Fernet keys(需要useradd keystone,添加keystone到系统中去):

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

    配置 Apache HTTP 服务器

    1. 编辑``/etc/httpd/conf/httpd.conf`` 文件,配置``ServerName`` 选项为控制节点:

      ServerName controller
      
    2. 用下面的内容创建文件 /etc/httpd/conf.d/wsgi-keystone.conf

      Listen 5000
      Listen 35357
      
      <VirtualHost *:5000>
          WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
          WSGIProcessGroup keystone-public
          WSGIScriptAlias / /usr/bin/keystone-wsgi-public
          WSGIApplicationGroup %{GLOBAL}
          WSGIPassAuthorization On
          ErrorLogFormat "%{cu}t %M"
          ErrorLog /var/log/httpd/keystone-error.log
          CustomLog /var/log/httpd/keystone-access.log combined
      
          <Directory /usr/bin>
              Require all granted
          </Directory>
      </VirtualHost>
      
      <VirtualHost *:35357>
          WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
          WSGIProcessGroup keystone-admin
          WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
          WSGIApplicationGroup %{GLOBAL}
          WSGIPassAuthorization On
          ErrorLogFormat "%{cu}t %M"
          ErrorLog /var/log/httpd/keystone-error.log
          CustomLog /var/log/httpd/keystone-access.log combined
      
          <Directory /usr/bin>
              Require all granted
          </Directory>
      </VirtualHost>
      

    完成安装

    • 启动 Apache HTTP 服务并配置其随系统启动:

      # systemctl enable httpd.service
      # systemctl start httpd.service

     

  • 相关阅读:
    ambari
    linux常用命令
    scala新版本学习(3)
    Spring中的AOP
    Spring中的Bean
    Spring的基本应用(1):依赖以及控制反转
    Scala新版本学习(2):
    python之time模块
    python之编码与解码
    爬虫之re数据提取的使用
  • 原文地址:https://www.cnblogs.com/goldd/p/6179866.html
Copyright © 2020-2023  润新知