Openstack组件部署 — Nova_安装和配置Controller Node
Before you install and configure the Compute service, you must create databases, service credentials, and API endpoints.
在安装和被指Compute service之前,你必须先创建Compute service的数据库、服务证书和API Endpoints。
Use the database access client to connect to the database server as the root user:
使用root用户登录到MySQL
mysql -u root -pfanguiju
Create the nova_api and nova databases:
创建nova_api和nova两个数据库
MariaDB [(none)] CREATE DATABASE nova_api; Query OK, 1 row affected (0.00 sec) MariaDB [(none)] CREATE DATABASE nova; Query OK, 1 row affected (0.00 sec)
Grant proper access to the databases:
创建nova和nova_api数据库的用户nova,并授予nova用户对nova和nova_api数据库的完全控制权限。
GRANT ALL PRIVILEGES ON nova_api.* TO nova@localhost IDENTIFIED BY fanguiju; GRANT ALL PRIVILEGES ON nova_api.* TO nova@% IDENTIFIED BY fanguiju; GRANT ALL PRIVILEGES ON nova.* TO nova@localhost IDENTIFIED BY fanguiju; GRANT ALL PRIVILEGES ON nova.* TO nova@% IDENTIFIED BY fanguiju;
Example:
MariaDB [(none)] GRANT ALL PRIVILEGES ON nova_api.* TO nova@localhost IDENTIFIED BY fanguiju; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)] GRANT ALL PRIVILEGES ON nova_api.* TO nova@% IDENTIFIED BY fanguiju; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)] GRANT ALL PRIVILEGES ON nova.* TO nova@localhost IDENTIFIED BY fanguiju; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)] GRANT ALL PRIVILEGES ON nova.* TO nova@% IDENTIFIED BY fanguiju; Query OK, 0 rows affected (0.00 sec)
Exit the database access client
Source the admin credentials to gain access to admin-only CLI commands:
执行admin环境变量脚本
. admin-openrc
Create the nova user:
创建nova用户
[root@controller ~]# openstack user create --domain default --password-prompt nova User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | 011fbf8c04f1479ab1a4e49b019b22d1 | | enabled | True | | id | 90a93575ebff4311a919d91db888938c | | name | nova | +-----------+----------------------------------+
Add the admin role to the nova user:
将Role admin添加到Project service中的User nova中
openstack role add --project service --user nova admin
Create the nova service entity:
创建nova服务实体
[root@controller ~]# openstack service create --name nova --description "OpenStack Compute" compute +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Compute | | enabled | True | | id | 3af0ba8834ad4d57ae4b88774e62358b | | name | nova | | type | compute | +-------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne compute public http://controller.jmilk.com:8774/v2.1/%\(tenant_id\)s +--------------+-----------------------------------------------------+ | Field | Value | +--------------+-----------------------------------------------------+ | enabled | True | | id | 1a96143b3d6d46fc8fe17a70043b6448 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 3af0ba8834ad4d57ae4b88774e62358b | | service_name | nova | | service_type | compute | | url | http://controller.jmilk.com:8774/v2.1/%(tenant_id)s | +--------------+-----------------------------------------------------+ [root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller.jmilk.com:8774/v2.1/%\(tenant_id\)s +--------------+-----------------------------------------------------+ | Field | Value | +--------------+-----------------------------------------------------+ | enabled | True | | id | a2b2b6ebe6a3450dabdaf19d0ff00f97 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 3af0ba8834ad4d57ae4b88774e62358b | | service_name | nova | | service_type | compute | | url | http://controller.jmilk.com:8774/v2.1/%(tenant_id)s | +--------------+-----------------------------------------------------+ [root@controller ~]# openstack endpoint create --region RegionOne compute admin http://controller.jmilk.com:8774/v2.1/%\(tenant_id\)s +--------------+-----------------------------------------------------+ | Field | Value | +--------------+-----------------------------------------------------+ | enabled | True | | id | 33d0c267549f4ecd89c0063ad16c41df | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 3af0ba8834ad4d57ae4b88774e62358b | | service_name | nova | | service_type | compute | | url | http://controller.jmilk.com:8774/v2.1/%(tenant_id)s | +--------------+-----------------------------------------------------+
yum install openstack-nova-api openstack-nova-conductor \ openstack-nova-console openstack-nova-novncproxy \ openstack-nova-scheduler -y
In the [DEFAULT] section, enable only the compute and metadata APIs:
在[DEFAULT]节点中配置启用只允许compute和metadataAPIs
vim /etc/nova/nova.conf
[DEFAULT] enabled_apis = osapi_compute,metadata
In the [api_database] and [database] sections, configure database access:
配置连接到nova和nova_api数据库的访问协议
[api_database] connection = mysql+pymysql://nova:fanguiju@controller.jmilk.com/nova_api [database] connection = mysql+pymysql://nova:fanguiju@controller.jmilk.com/nova
In the [DEFAULT] and [oslo_messaging_rabbit] sections, configure RabbitMQ message queue access:
配置RabbitMQ消息队列访问
[DEFAULT] rpc_backend = rabbit [oslo_messaging_rabbit] rabbit_host = controller.jmilk.com rabbit_userid = openstack rabbit_password = fanguiju
In the [DEFAULT] and [keystone_authtoken] sections, configure Identity service access:
配置Identity service认证服务
[DEFAULT] auth_strategy = keystone [keystone_authtoken] auth_uri = http://controller.jmilk.com:5000 auth_url = http://controller.jmilk.com:35357 memcached_servers = controller.jmilk.com:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = nova password = fanguiju
Note:Comment out or remove any other options in the [keystone_authtoken] section.
注意:注释或删除所有在[keystone_authtoken]节点上的所有参数选项
In the [DEFAULT] section, configure the my_ip option to use the management interface IP address of the controller node:
配置my_ip选项为Controller Note上的管理接口IP(Controller Node Host IP)
[DEFAULT] my_ip = 192.168.1.5
In the [DEFAULT] section, enable support for the Networking service:
[DEFAULT] use_neutron = True firewall_driver = nova.virt.firewall.NoopFirewallDriver
Note:By default, Compute uses an internal firewall driver. Since the Networking service includes a firewall driver, you must disable the Compute firewall driver by using the nova.virt.firewall.NoopFirewallDriver firewall driver.
注意:默认的,Compute会使用一个internal firewall driver。由于Networking service包含了一个firewall driver,所以你必须通过nova.virt.firewall.NoopFirewallDriver firewall driver来关闭这个Compute firewall driver
In the [vnc] section, configure the VNC proxy to use the management interface IP address of the controller node:
配置VNCdialing service使用Controller Node的管理接口IP(Controller Node Host IP)
[vnc] vncserver_listen = $my_ip vncserver_proxyclient_address = $my_ip
In the [glance] section, configure the location of the Image service API:
配置Image service API的URL
[glance] api_servers = http://controller.jmilk.com:9292
In the [oslo_concurrency]* section, configure the lock path:*
firewall_driver = nova.virt.firewall.NoopFirewallDriver enabled_apis=osapi_compute,metadata [api_database] connection = mysql+pymysql://nova:fanguiju@controller.jmilk.com/nova_api [barbican] [cache] [cells] [cinder] [conductor] [cors] [cors.subdomain] [database] connection = mysql+pymysql://nova:fanguiju@controller.jmilk.com/nova [ephemeral_storage_encryption] [glance] api_servers = http://controller.jmilk.com:9292 [guestfs] [hyperv] [image_file_url] [ironic] [keymgr] [keystone_authtoken] auth_uri = http://controller.jmilk.com:5000 auth_url = http://controller.jmilk.com:35357 memcached_servers = controller.jmilk.com:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = nova password = fanguiju [libvirt] [matchmaker_redis] [metrics] [neutron] [osapi_v21] [oslo_concurrency] lock_path = /var/lib/nova/tmp [oslo_messaging_amqp] [oslo_messaging_notifications] [oslo_messaging_rabbit] rabbit_host = controller.jmilk.com rabbit_userid = openstack rabbit_password = fanguiju [oslo_middleware] [oslo_policy] [rdp] [serial_console] [spice] [ssl] [trusted_computing] [upgrade_levels] [vmware] [vnc] vncserver_listen = $my_ip vncserver_proxyclient_address = $my_ip [workarounds] [xenserver] Populate the Compute databases
初始化Compute service的nova和nova_api数据库
su -s /bin/sh -c "nova-manage api_db sync" nova su -s /bin/sh -c "nova-manage db sync" nova
Example:
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova [root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova /usr/lib/python2.7/site-packages/pymysql/cursors.py:146: Warning: Duplicate index block_device_mapping_instance_uuid_virtual_name_device_name_idx defined on the table nova.block_device_mapping. This is deprecated and will be disallowed in a future release. result = self._query(query) /usr/lib/python2.7/site-packages/pymysql/cursors.py:146: Warning: Duplicate index uniq_instances0uuid defined on the table nova.instances. This is deprecated and will be disallowed in a future release. result = self._query(query)
Note:Ignore any deprecation messages in this output.
注意:忽略所有无效输出信息
查看是否成功创建nova和nova_api数据库:
MariaDB [nova] use nova_api Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [nova_api] show tables; +--------------------+ | Tables_in_nova_api | +--------------------+ | build_requests | | cell_mappings | | flavor_extra_specs | | flavor_projects | | flavors | | host_mappings | | instance_mappings | | migrate_version | | request_specs | +--------------------+ 9 rows in set (0.00 sec)
systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
相关文章
- Windows安装VMware虚拟机+配置Ubuntu的详细步骤以及解决配置过程中报错的问题(完整版)
- 持续集成篇 --Hudson持续集成服务器的安装配置与使用
- Windows Server 2016 + SCO 2016 安装及配置介绍
- CentOS6下Haproxy的安装配置
- python 安装 scapy windows 10 64bit
- ELK学习笔记之Kibana安装配置
- ubuntu 安装php xdebug
- node.js 版本管理工具 — nvm 下载、安装、配置及使用
- Mac m1 安装 swoole
- Node.js 安装第三方模块包(npm),通过 package.json配置信息安装项目依赖的模块
- Node.js安装及环境配置之Windows篇
- Linux下安装tomcat
- wampserver的下载与安装配置
- Linux 下安装配置 JDK7
- Docker的安装和配置
- 安装并配置Next主题
- 如何查看 Docker 安装的事件历史记录
- node.js安装及环境配置超详细教程【Windows系统安装包方式】
- ubuntu docker 安装指定版本 MongoDB 并配置用户密码
- Oracle 12cR1 RAC集群安装(一)--环境准备
- Openstack组件部署 — Networking service_安装并配置Controller Node
- linux下安装 配置 redis数据库
- Linux docker 安装FastDFS
- CentOS Docker 安装