温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

OpenStack stein安装(四)placement

发布时间:2020-07-26 11:47:06 来源:网络 阅读:838 作者:zhaolinew 栏目:系统运维

  placement服务提供一个HTTP API,用于跟踪资源提供者清单和使用情况。placement作为数据模型上的web服务进行操作。安装包括创建必要的数据库以及安装和配置web服务。这是一个简单的过程,但是要将placement与OpenStack云的其余部分集成起来,有相当多的步骤。
  其他一些OpenStack服务(尤其是nova)需要安装placement,因此应该在其他服务之前安装placement,而在Identity (keystone)之后安装placement。

安装准备

安装配置placement服务之前,建库等。

  1. 建立数据库

    1. 完成下列建库操作:
        ○ 使用root用户登录:
            $ mysql -u root -p root123 
        ○ 建立placement database:
            MariaDB [(none)]> CREATE DATABASE placement;
        ○ Grant proper access to the database:
            MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%'  IDENTIFIED BY 'placement123';
    
    2. Configure User and Endpoints
        1. Source the admin credentials to gain access to admin-only CLI commands:
            $ . admin-openrc
        2. Create a Placement service user using your chosen PLACEMENT_PASS:
            $ openstack user create --domain default --password-prompt placement
    
            User Password:placement123
            Repeat User Password:placement123
            +---------------------+----------------------------------+
            | Field               | Value                            |
            +---------------------+----------------------------------+
            | domain_id           | default                          |
            | enabled             | True                             |
            | id                  | fa742015a6494a949f67629884fc7ec8 |
            | name                | placement                        |
            | options             | {}                               |
            | password_expires_at | None                             |
            +---------------------+----------------------------------+
        3. Add the Placement user to the service project with the admin role:
            $ openstack role add --project service --user placement admin
     
        4. Create the Placement API entry in the service catalog:
            $ openstack service create --name placement \
              --description "Placement API" placement
    
            +-------------+----------------------------------+
            | Field       | Value                            |
            +-------------+----------------------------------+
            | description | Placement API                    |
            | enabled     | True                             |
            | id          | 2d1a27022e6e4185b86adac4444c495f |
            | name        | placement                        |
            | type        | placement                        |
            +-------------+----------------------------------+
        5. Create the Placement API service endpoints:
            注意:域名为你规划好url, 必须能够解析.
            $ openstack endpoint create --region RegionOne placement public http://stack.flex.net:8778
            +--------------+----------------------------------+
            | Field        | Value                            |
            +--------------+----------------------------------+
            | enabled      | True                             |
            | id           | 2b1b2637908b4137a9c2e0470487cbc0 |
            | interface    | public                           |
            | region       | RegionOne                        |
            | region_id    | RegionOne                        |
            | service_id   | 2d1a27022e6e4185b86adac4444c495f |
            | service_name | placement                        |
            | service_type | placement                        |
            | url          | http://controller:8778           |
            +--------------+----------------------------------+
    
            $ openstack endpoint create --region RegionOne placement internal http://stack.flex.net:8778
            +--------------+----------------------------------+
            | Field        | Value                            |
            +--------------+----------------------------------+
            | enabled      | True                             |
            | id           | 02bcda9a150a4bd7993ff4879df971ab |
            | interface    | internal                         |
            | region       | RegionOne                        |
            | region_id    | RegionOne                        |
            | service_id   | 2d1a27022e6e4185b86adac4444c495f |
            | service_name | placement                        |
            | service_type | placement                        |
            | url          | http://controller:8778           |
            +--------------+----------------------------------+
    
            $ openstack endpoint create --region RegionOne placement admin http://stack.flex.net:8778
            +--------------+----------------------------------+
            | Field        | Value                            |
            +--------------+----------------------------------+
            | enabled      | True                             |
            | id           | 3d71177b9e0f406f98cbff198d74b182 |
            | interface    | admin                            |
            | region       | RegionOne                        |
            | region_id    | RegionOne                        |
            | service_id   | 2d1a27022e6e4185b86adac4444c495f |
            | service_name | placement                        |
            | service_type | placement                        |
            | url          | http://controller:8778           |
            +--------------+----------------------------------+
    安装配置组件
  2. Install the packages:
    # yum install openstack-placement-api
  3. Edit the /etc/placement/placement.conf file and complete the following actions:

    ○ In the [placement_database] section, configure database access:
        [placement_database]
        # ...
        connection = mysql+pymysql://placement:placement123@dbs.flex.net/placement
    ○ In the [api] and [keystone_authtoken] sections, configure Identity service access:
        [api]
        # ...
        auth_strategy = keystone
    
        [keystone_authtoken]
        # ...
        auth_url = http://stack.flex.net:5000/v3
        memcached_servers = dbs.flex.net:11211
        auth_type = password
        project_domain_name = default
        user_domain_name = default
        project_name = service
        username = placement
        password = placement123
    
        注意: 注释或移除在掉在[keystone_authtoken]区域中的其它的选项
  4. Populate the placement database:
    # su -s /bin/sh -c "placement-manage db sync" placement
    完成完装
    ○ Restart the httpd service:
        # systemctl restart httpd
    校验安装

    你需要admin的权限验证

  5. 加载admin的访问凭据,执行管理员命令:
    $ . admin-openrc
  6. 执行状态检查命令:
    $ placement-status upgrade check
    +----------------------------------+
    | Upgrade Check Results            |
    +----------------------------------+
    | Check: Missing Root Provider IDs |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
    | Check: Incomplete Consumers      |
    | Result: Success                  |
    | Details: None                    |
    +----------------------------------+
  7. 运行对placement API的命令(这个步骤我没有成功,但不影响):

    ○ Install the osc-placement plugin:
        $ pip install osc-placement
    ○ List available resource classes and traits:
        $ openstack --os-placement-api-version 1.2 resource class list --sort-column name
        +----------------------------+
        | name                       |
        +----------------------------+
        | DISK_GB                    |
        | IPV4_ADDRESS               |
        | ...                        |
    
        $ openstack --os-placement-api-version 1.6 trait list --sort-column name
        +---------------------------------------+
        | name                                  |
        +---------------------------------------+
        | COMPUTE_DEVICE_TAGGING                |
        | COMPUTE_NET_ATTACH_INTERFACE          |
        | ...                                   |
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI