openstack placement服务(小节3)

176 阅读1分钟

@[TOC](openstack placement服务(小节3))

mysql

[root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1

#创建数据库'placement'
MariaDB [(none)]> CREATE DATABASE placement;

#授权
MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%'  IDENTIFIED BY 'placement123';

controller1

#101也能连接、因为之前做了'haproxy'反向代理
[root@controller1 ~]# mysql -uplacement -pplacement123 -h192.168.37.101

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| placement          |
+--------------------+
2 rows in set (0.001 sec)

MariaDB [(none)]> exit
Bye

#导入环境变量
[root@controller1 ~]# source scripts/admin_stein.sh

#创建'placement'账号
[root@controller1 ~]# openstack user create --domain default --password-prompt placement
User Password:    <--密码'placement'
Repeat User Password:    <--密码'placement'
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | 3d6cf6014ee04da69c088ae6b9b9766a |
| enabled             | True                             |
| id                  | c8a6c425605d4701b51e3f954ddbc049 |
| name                | placement                        |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+


#授权
[root@controller1 ~]# openstack role add --project service --user placement admin

#创建'Placement API'
[root@controller1 ~]# openstack service create --name placement --description "Placement API" placement
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Placement API                    |
| enabled     | True                             |
| id          | d41642dacde64225880fe8645949689b |
| name        | placement                        |
| type        | placement                        |
+-------------+----------------------------------+

[root@controller1 ~]# openstack service list
+----------------------------------+-----------+-----------+
| ID                               | Name      | Type      |
+----------------------------------+-----------+-----------+
| 08ec565d0c9744239dc7829f1468fb2b | keystone  | identity  |
| 29712f44f34b41a0b6fddf5787fd053f | glance    | image     |
| d41642dacde64225880fe8645949689b | placement | placement |
+----------------------------------+-----------+-----------+


#注册API
[root@controller1 ~]# openstack endpoint create --region RegionOne placement public http://openstack.123.net:8778
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 2670009f2ff3432e8575fc38c31b46e2 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | d41642dacde64225880fe8645949689b |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://openstack.123.net:8778    |
+--------------+----------------------------------+


[root@controller1 ~]# openstack endpoint create --region RegionOne placement internal http://openstack.123.net:8778
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | ee4facb5bb1c4b04b4d412ec3768ddd7 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | d41642dacde64225880fe8645949689b |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://openstack.123.net:8778    |
+--------------+----------------------------------+


[root@controller1 ~]# openstack endpoint create --region RegionOne placement admin http://openstack.123.net:8778
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | 00f1b4a1e1cb46acb7075fb8af39fb03 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | d41642dacde64225880fe8645949689b |
| service_name | placement                        |
| service_type | placement                        |
| url          | http://openstack.123.net:8778    |
+--------------+----------------------------------+


#安装
[root@controller1 ~]# yum install openstack-placement-api -y

[root@controller1 ~]# vim /etc/placement/placement.conf
...
[placement_database]
connection = mysql+pymysql://placement:placement123@openstack.123.net/placement

[api]
auth_strategy = keystone

[keystone_authtoken]
auth_url = http://openstack.123.net:5000/v3
memcached_servers = openstack.123.net:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = placement
password = placement
...

#初始化数据库
[root@controller1 ~]# su -s /bin/sh -c "placement-manage db sync" placement

mysql

[root@mysql ~]# mysql -uroot -p123.com -h127.0.0.1

MariaDB [(none)]> use placement;

#可以看到生成的表
MariaDB [placement]> show tables;
+------------------------------+
| Tables_in_placement          |
+------------------------------+
| alembic_version              |
| allocations                  |
| consumers                    |
| inventories                  |
| placement_aggregates         |
| projects                     |
| resource_classes             |
| resource_provider_aggregates |
| resource_provider_traits     |
| resource_providers           |
| traits                       |
| users                        |
+------------------------------+
12 rows in set (0.000 sec)

controller1

需要重启apache

[root@controller1 ~]# systemctl restart httpd

#重启完apache会增加8778端口
[root@controller1 ~]# ss -ntlp|grep 8778
LISTEN     0      128         :::8778                    :::*                   users:(("httpd",pid=23998,fd=6),("httpd",pid=23997,fd=6),("httpd",pid=23996,fd=6),("httpd",pid=23995,fd=6),("httpd",pid=23994,fd=6),("httpd",pid=23985,fd=6))

#导入环境变量、环境变量可多次导入没关系
[root@controller1 ~]# source scripts/admin_stein.sh
#确认返回值都是'Success'
[root@controller1 ~]# placement-status upgrade check
+----------------------------------+
| Upgrade Check Results            |
+----------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success                  |    <--
| Details: None                    |
+----------------------------------+
| Check: Incomplete Consumers      |
| Result: Success                  |    <--
| Details: None                    |
+----------------------------------+

mysql

#执行后会打开'15672'端口
[root@mysql ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  amqp_client
  cowlib
  cowboy
  rabbitmq_web_dispatch
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@mysql... started 6 plugins.

[root@mysql ~]# ss -ntlp|grep 15672
LISTEN     0      128          *:15672                    *:*                   users:(("beam.smp",pid=3513,fd=57))

浏览器

图片.png