更新时间:2022-05-12 GMT+08:00
分享

安装配置并验证Keystone

在控制节点安装配置并验证Keystone。

创建Keystone数据库

  1. 进入数据库。

    1
    mysql -u root -p
    

  2. 创建Keystone数据库。

    1
    CREATE DATABASE keystone;
    

  3. 授权,允许本地及远程服务器访问mysql,<PASSWORD>为数据库用户root的密码。

    1
    2
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '<PASSWORD>';
    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '<PASSWORD>';
    

    注意将<PASSWORD>修改为需要的密码。(openstack的账户密码设置中,不支持特殊符号#;openstack对密码的复杂度没有要求,可以设置为不带特殊字符的密码;若在设置密码时,一定要包含特殊符号,openstack仅支持如下如下特殊字符:& = $ - _ . + ! * ( ) )。

  4. 退出数据库。

    1
    exit
    

安装Keystone

  1. 安装Keystone包。

    1
    yum -y install openstack-keystone httpd mod_wsgi
    

  2. 编辑“/etc/keystone/keystone.conf”文件。

    在[database]部分添加如下内容:

    1
    connection = mysql+pymysql://keystone:<PASSWORD>@controller/keystone
    

    在[token]部分添加如下内容:

    1
    provider = fernet
    

    <PASSWORD>为用户为数据库设置的密码。

  3. 填充Identity服务数据库。

    1
    su -s /bin/sh -c "keystone-manage db_sync" keystone
    

  4. 初始化Fernet密钥存储库。

    1
    2
    keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
    

  5. 引导身份服务。

    1
    2
    3
    4
    5
    keystone-manage bootstrap --bootstrap-password <PASSWORD> \
    --bootstrap-admin-url http://controller:5000/v3/ \
    --bootstrap-internal-url http://controller:5000/v3/ \
    --bootstrap-public-url http://controller:5000/v3/ \
    --bootstrap-region-id RegionOne
    

    注意修改<PASSWORD>为用户admin的密码。

配置Apache HTTP 服务

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

    系统默认注释掉此项,需要找到该项并且修改。

  2. 创建“/usr/share/keystone/wsgi-keystone.conf”文件的链接。

    1
    ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
    

  3. 启动 Apache HTTP 服务并配置其随系统启动。

    1
    2
    systemctl enable httpd.service
    systemctl start httpd.service
    

  4. 配置管理帐户。

    1
    2
    3
    4
    5
    6
    7
    export OS_USERNAME=admin
    export OS_PASSWORD=<PASSWORD>
    export OS_PROJECT_NAME=admin
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_AUTH_URL=http://controller:5000/v3
    export OS_IDENTITY_API_VERSION=3
    

    注意修改<PASSWORD>为用户admin的密码。

创建域、项目、用户和角色

  1. 创建新域。

    1
    openstack domain create --description "An Example Domain" example
    

    该步骤介绍域的创建方式,默认的域已经在安装Keystone5创建。

  2. 创建Service项目。

    1
    openstack project create --domain default --description "Service Project" service
    

  3. 创建普通项目myproject(常规任务使用)。

    1
    openstack project create --domain default --description "Demo Project" myproject
    

  4. 创建普通用户myuser(普通用户使用)。

    1
    openstack user create --domain default --password-prompt myuser
    

    并创建密码。

  5. 创建角色。

    1
    openstack role create myrole
    

  6. 将myrole角色添加到myproject项目和myuser用户。

    1
    openstack role add --project myproject --user myuser myrole
    

验证Keystone

  1. 取消环境变量。

    1
    unset OS_AUTH_URL OS_PASSWORD
    

  2. 作为admin用户,请求身份验证令牌。

    1
    2
    3
    openstack --os-auth-url http://controller:5000/v3 \
    --os-project-domain-name Default --os-user-domain-name Default \
    --os-project-name admin --os-username admin token issue
    

    输入密码:<PASSWORD>

    密码为自定义,为方便阅读,本文中全部以<PASSWORD>代替,此处的<PASSWORD>为admin用户的密码。

  3. 作为myuser上一节中创建的用户,请求身份验证令牌。

    1
    2
    3
    openstack --os-auth-url http://controller:5000/v3 \
    --os-project-domain-name Default --os-user-domain-name Default \
    --os-project-name myproject --os-username myuser token issue
    

    输入密码:<PASSWORD>

  4. 创建OpenStack客户端环境脚本。

    1. 创建并编辑admin-openrc文件。
      1
      vim /etc/keystone/admin-openrc
      

      并添加如下内容:

      1
      2
      3
      4
      5
      6
      7
      8
      export OS_PROJECT_DOMAIN_NAME=Default
      export OS_USER_DOMAIN_NAME=Default
      export OS_PROJECT_NAME=admin
      export OS_USERNAME=admin
      export OS_PASSWORD=<PASSWORD>
      export OS_AUTH_URL=http://controller:5000/v3
      export OS_IDENTITY_API_VERSION=3
      export OS_IMAGE_API_VERSION=2
      
    2. 创建和编辑demo-openrc文件。
      1
      vim /etc/keystone/demo-openrc
      

      并添加以下内容:

      1
      2
      3
      4
      5
      6
      7
      8
      export OS_PROJECT_DOMAIN_NAME=Default
      export OS_USER_DOMAIN_NAME=Default
      export OS_PROJECT_NAME=myproject
      export OS_USERNAME=myuser
      export OS_PASSWORD=<PASSWORD>
      export OS_AUTH_URL=http://controller:5000/v3
      export OS_IDENTITY_API_VERSION=3
      export OS_IMAGE_API_VERSION=2
      

      admin-openrc 为admin 用户的登录凭据。

  5. 使用脚本。

    1
    2
    source /etc/keystone/admin-openrc
    openstack token issue
    

分享:

    相关文档

    相关产品

close