OpenStack-liberty版Nova控制节点服务部署(三)
2018-10-07 22:14
597 查看
Nova计算服务:
API:负责接收和响应外部请求。支持OpenStack API,EC2API。
Cert:负责身份认证。
Scheduler:用于主机调度。
Conductor:计算节点访问数据的中间件。
Consoleauth:用于控制台的授权验证。
Novncproxy:VNC代理。
Nova API:
nova-api组件实现了RESTful API功能,是外部访问Nova的唯一途径。
接收外部的请求并通过Message Queue将请求发送给其他的服务组件,同时也兼容EC2 API,所以也可以用EC2的管理工具对nova进行日常管理。
Nova scheduler:
Nova Scheduler模块在openstack中的作用就是决策虚拟机创建在哪个主机(计算节点)上。
决策一个虚机应该调度到某物理节点,需要分两个步骤:
过滤(Filter)
计算权值(Weight)
Nova Dashboard:
Filter Schedulter首先得到未过滤的主机列表,然后根据过滤属性,选择服务条件的计算节点主机。
经过主机过滤后,需要对主机进行权值计算,根据策略选择相应的某一台主机(对于每一个要创建的虚拟机而言)。
Nova安装:
[root@hostnamelinux-node1 ~]# yum -y install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient
配置nova: [root@hostnamelinux-node1 ~]# vim /etc/nova/nova.conf [database] connection=mysql://nova:nova@192.168.56.11/nova
同步数据库:
[root@hostnamelinux-node1 ~]# su -s /bin/sh -c "nova-manage db sync" nova
[root@hostnamelinux-node1 ~]# mysql -unova -pnova Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 26 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use nova; Database changed MariaDB [nova]> show tables; +--------------------------------------------+ | Tables_in_nova | +--------------------------------------------+ | agent_builds | | aggregate_hosts | | aggregate_metadata | | aggregates | | block_device_mapping | | bw_usage_cache | | cells | | certificates | | compute_nodes | | console_pools | | consoles | | dns_domains | | fixed_ips | | floating_ips | | instance_actions | | instance_actions_events | | instance_extra | | instance_faults | | instance_group_member | | instance_group_policy | | instance_groups | | instance_id_mappings | | instance_info_caches | | instance_metadata | | instance_system_metadata | | instance_type_extra_specs | | instance_type_projects | | instance_types | | instances | | key_pairs | | migrate_version | | migrations | | networks | | pci_devices | | project_user_quotas | | provider_fw_rules | | quota_classes | | quota_usages | | quotas | | reservations | | s3_images | | security_group_default_rules | | security_group_instance_association | | security_group_rules | | security_groups | | services | | shadow_agent_builds | | shadow_aggregate_hosts | | shadow_aggregate_metadata | | shadow_aggregates | | shadow_block_device_mapping | | shadow_bw_usage_cache | | shadow_cells | | shadow_certificates | | shadow_compute_nodes | | shadow_console_pools | | shadow_consoles | | shadow_dns_domains | | shadow_fixed_ips | | shadow_floating_ips | | shadow_instance_actions | | shadow_instance_actions_events | | shadow_instance_extra | | shadow_instance_faults | | shadow_instance_group_member | | shadow_instance_group_policy | | shadow_instance_groups | | shadow_instance_id_mappings | | shadow_instance_info_caches | | shadow_instance_metadata | | shadow_instance_system_metadata | | shadow_instance_type_extra_specs | | shadow_instance_type_projects | | shadow_instance_types | | shadow_instances | | shadow_key_pairs | | shadow_migrate_version | | shadow_migrations | | shadow_networks | | shadow_pci_devices | | shadow_project_user_quotas | | shadow_provider_fw_rules | | shadow_quota_classes b62 | | shadow_quota_usages | | shadow_quotas | | shadow_reservations | | shadow_s3_images | | shadow_security_group_default_rules | | shadow_security_group_instance_association | | shadow_security_group_rules | | shadow_security_groups | | shadow_services | | shadow_snapshot_id_mappings | | shadow_snapshots | | shadow_task_log | | shadow_virtual_interfaces | | shadow_volume_id_mappings | | shadow_volume_usage_cache | | snapshot_id_mappings | | snapshots | | tags | | task_log | | virtual_interfaces | | volume_id_mappings | | volume_usage_cache | +--------------------------------------------+ 105 rows in set (0.01 sec) MariaDB [nova]> exit Bye
[root@hostnamelinux-node1 ~]# vim /etc/nova/nova.conf [DEFAULT] rpc_backend=rabbit [oslo_messaging_rabbit] rabbit_host=192.168.56.11 rabbit_port=5672 rabbit_userid=openstack rabbit_password=openstack
创建nova用户:
[root@hostnamelinux-node1 ~]# openstack user create --domain default --password=nova nova +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | default | | enabled | True | | id | 8120acc4fbbb4cc3a86b20f5ac6114c9 | | name | nova | +-----------+----------------------------------+
将nova加入service项目赋予admin权限;
[root@hostnamelinux-node1 ~]# openstack role add --project service --user nova admin
[root@hostnamelinux-node1 ~]# vim /etc/nova/nova.conf [keystone_authtoken] auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = nova password = nova [DEFAULT] auth_strategy=keystone network_api_class=nova.network.neutronv2.api.API
network_api_class对应的python方法目录;
[root@hostnamelinux-node1 ~]# vim /usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py class API(base_api.NetworkAPI): pass
[root@hostnamelinux-node1 ~]# vim /etc/nova/nova.conf [DEFAULT] security_group_api=neutron linuxnet_interface_driver=nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
linuxnet_interface_driver对应的python 2d98 方法目录;
[root@hostnamelinux-node1 ~]# vim /usr/lib/python2.7/site-packages/nova/network/linux_net.py class NeutronLinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver): pass
[root@hostnamelinux-node1 ~]# vim /etc/nova/nova.conf [DEFAULT] #firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver firewall_driver=nova.virt.firewall.NoopFirewallDriver my_ip=192.168.56.11 enabled_apis=osapi_compute,metadata [vnc] vncserver_listen=$my_ip vncserver_proxyclient_address=$my_ip [glance] host=$my_ip [oslo_concurrency] lock_path=/var/lib/nova/tmp
[root@hostnamelinux-node1 ~]# grep '^[a-z]' /etc/nova/nova.conf my_ip=192.168.56.11 enabled_apis=osapi_compute,metadata auth_strategy=keystone network_api_class=nova.network.neutronv2.api.API linuxnet_interface_driver=nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver security_group_api=neutron firewall_driver=nova.virt.firewall.NoopFirewallDriver rpc_backend=rabbit connection=mysql://nova:nova@192.168.56.11/nova host=$my_ip auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = nova password = nova lock_path=/var/lib/nova/tmp rabbit_host=192.168.56.11 rabbit_port=5672 rabbit_userid=openstack rabbit_password=openstack vncserver_listen=$my_ip vncserver_proxyclient_address=$my_ip
启动nova:
[root@hostnamelinux-node1 ~]# grep '^[a-z]' /etc/nova/nova.conf -c 25 [root@hostnamelinux-node1 ~]# systemctl enable openstack-nova-api.service \ openstack-nova-cert.service openstack-nova-consoleauth.service \ openstack-nova-scheduler.service openstack-nova-conductor.service \ openstack-nova-novncproxy.service Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-api.service to /usr/lib/systemd/system/openstack-nova-api.service. Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-cert.service to /usr/lib/systemd/system/openstack-nova-cert.service. Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-consoleauth.service to /usr/lib/systemd/system/openstack-nova-consoleauth.service. Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-scheduler.service to /usr/lib/systemd/system/openstack-nova-scheduler.service. Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-conductor.service to /usr/lib/systemd/system/openstack-nova-conductor.service. Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-nova-novncproxy.service to /usr/lib/systemd/system/openstack-nova-novncproxy.service.
[root@hostnamelinux-node1 ~]# systemctl start openstack-nova-api.service \ openstack-nova-cert.service openstack-nova-consoleauth.service \ openstack-nova-scheduler.service openstack-nova-conductor.service \ openstack-nova-novncproxy.service
注册nova:
[root@hostnamelinux-node1 ~]# source admin-openrc.sh
创建nova服务:
[root@hostnamelinux-node1 ~]# openstack service create --name nova --description "OpenStack Compute" compute +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Compute | | enabled | True | | id | 887fca219f71485a96461ad96aabc594 | | name | nova | | type | compute | +-------------+----------------------------------+
注册公网:
[root@hostnamelinux-node1 ~]# openstack endpoint create --region RegionOne compute public http://192.168.56.11:8774/v2/%\(tenant_id\)s +--------------+--------------------------------------------+ | Field | Value | +--------------+--------------------------------------------+ | enabled | True | | id | aacb15c952264c478632facc9953f320 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 887fca219f71485a96461ad96aabc594 | | service_name | nova | | service_type | compute | | url | http://192.168.56.11:8774/v2/%(tenant_id)s | +--------------+--------------------------------------------+
注册私网:
[root@hostnamelinux-node1 ~]# openstack endpoint create --region RegionOne compute internal http://192.168.56.11:8774/v2/%\(tenant_id\)s +--------------+--------------------------------------------+ | Field | Value | +--------------+--------------------------------------------+ | enabled | True | | id | 0c5bb8ed04ff4e30bff474ab693a8e7b | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 887fca219f71485a96461ad96aabc594 | | service_name | nova | | service_type | compute | | url | http://192.168.56.11:8774/v2/%(tenant_id)s | +--------------+--------------------------------------------+
注册admin:
[root@hostnamelinux-node1 ~]# openstack endpoint create --region RegionOne compute admin http://192.168.56.11:8774/v2/%\(tenant_id\)s +--------------+--------------------------------------------+ | Field | Value | +--------------+--------------------------------------------+ | enabled | True | | id | be2392a0d3a84014b108fda8fe9c08eb | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 887fca219f71485a96461ad96aabc594 | | service_name | nova | | service_type | compute | | url | http://192.168.56.11:8774/v2/%(tenant_id)s | +--------------+--------------------------------------------+
[root@hostnamelinux-node1 ~]# openstack host list +-------------------------------+-------------+----------+ | Host Name | Service | Zone | +-------------------------------+-------------+----------+ | hostnamelinux-node1.smoke.com | scheduler | internal | | hostnamelinux-node1.smoke.com | cert | internal | | hostnamelinux-node1.smoke.com | consoleauth | internal | | hostnamelinux-node1.smoke.com | conductor | internal | +-------------------------------+-------------+----------+
相关文章推荐
- OpenStack-liberty版Nova计算节点部署服务部署(四)
- OpenStack 计算服务 Nova介绍和控制节点部署(七)
- Openstack 网络服务 Neutron介绍和控制节点部署 (九)
- OpenStack入门修炼之nova服务(计算节点)的部署与测试(11)
- [部署篇4]VMWare搭建Openstack——控制节点的Nova的安装
- CentOS 7部署OpenStack(4)―部署Nova控制节点
- openstack安装部署5——计算服务(控制节点&计算节点)
- OpenStack(Kilo版本)控制节点基本环境和身份验证服务的安装部署
- OpenStack Newton版本部署---- 网络服务(neutron)(控制节点)
- Openstack 实战讲解之-----05-控制节点Nova服务安装配置
- Openstack 实战讲解之-----05-控制节点Nova服务安装配置 推荐
- CentOS 7部署OpenStack(4)―部署Nova控制节点
- OpenStack 计算服务 Nova计算节点部署(八)
- OpenStack 存储服务 Cinder介绍和控制节点部署(十五)
- openstack安装部署6——网络服务(控制节点&计算节点)
- packstack工具部署单节点的openstack虚拟服务
- openstack controller ha测试环境搭建记录(八)——配置nova(控制节点)