OpenStack-train版安装之控制节点安装Nova(计算服务)、安装Neutron(组网服务)、安装Horizon(控制台服务)

2023-12-13 14:11:46

控制节点安装Nova(计算服务)、安装Neutron(组网服务)、安装Horizon(控制台服务)

安装Nova(计算服务)

  1. 数据库创建、创建用户并授权
# mysql
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
MariaDB [(none)]> CREATE DATABASE nova_cell0;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
                IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
                IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
                IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
                IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
                IDENTIFIED BY 'NOVA_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
                IDENTIFIED BY 'NOVA_DBPASS';
  1. 创建服务凭证
# openstack user create --domain default --password-prompt nova

输入密码:NOVA_PASS
确认密码:NOVA_PASS

# openstack role add --project service --user nova admin
# openstack service create --name nova   --description "OpenStack Compute" compute
  1. 创建服务API接入点
# openstack endpoint create --region RegionOne   compute public http://controller:8774/v2.1
# openstack endpoint create --region RegionOne   compute internal http://controller:8774/v2.1
# openstack endpoint create --region RegionOne   compute admin http://controller:8774/v2.1
  1. 安装和配置
# yum install openstack-nova-api openstack-nova-conductor   openstack-nova-novncproxy openstack-nova-scheduler -y

配置,修改配置文件/etc/nova/nova.conf,在对应分组【[组名]】下添加配置:
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:RABBIT_PASS@controller:5672/
my_ip = 192.168.0.11
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database]
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
[database]
connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova
[api]
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://controller:5000/
auth_url = http://controller:5000/
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = PLACEMENT_PASS

初始化数据库:

# su -s /bin/sh -c "nova-manage api_db sync" nova

# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

# su -s /bin/sh -c "nova-manage db sync" nova

验证:

# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

设置开机启动并启动服务:

# systemctl enable     openstack-nova-api.service     openstack-nova-scheduler.service     openstack-nova-conductor.service     openstack-nova-novncproxy.service
# systemctl start     openstack-nova-api.service     openstack-nova-scheduler.service     openstack-nova-conductor.service     openstack-nova-novncproxy.service
  1. 验证
    状态是否正常:
# openstack compute service list

在这里插入图片描述
验证接入点:

# curl controller:8774/v2.1

在这里插入图片描述

  1. 说明
  • 详细说明参考官网:
    https://docs.openstack.org/nova/train/install/controller-install-rdo.html
  • 安装mysql时做了安装初始化,将密码设置为无,如有设置密码,连接时请加账号密码。
  • 安装spice console参考《2.6.安装Spice控制台》。

安装Neutron(组网服务)

需要2张网卡(网卡配置相关参考《OpenStack-train版安装之环境准备中WMware添加网卡》),采用vxlan方式组网。

  1. 数据库创建、创建用户并授权
# mysql
MariaDB [(none)]> CREATE DATABASE neutron;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
                IDENTIFIED BY 'NEUTRON_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
                IDENTIFIED BY 'NEUTRON_DBPASS';
  1. 创建服务凭证
# openstack user create --domain default --password-prompt neutron

输入密码:NEUTRON_PASS
确认密码:NEUTRON_PASS

# openstack role add --project service --user neutron admin

# openstack service create --name neutron   --description "OpenStack Networking" network
  1. 创建服务API接入点
# openstack endpoint create --region RegionOne   network public http://controller:9696
# openstack endpoint create --region RegionOne   network internal http://controller:9696
# openstack endpoint create --region RegionOne   network admin http://controller:9696
  1. 安装和配置
# yum install openstack-neutron openstack-neutron-ml2   openstack-neutron-linuxbridge ebtables -y

配置,修改配置文件/etc/neutron/neutron.conf,在对应分组【[组名]】下添加配置:
[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
[nova]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

配置,修改配置文件/etc/neutron/plugins/ml2/ml2_conf.ini,在对应分组【[组名]】下添加配置:
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider,eno172_16_0
[ml2_type_vxlan]
vni_ranges = 1:1000
[securitygroup]
enable_ipset = true

配置,修改配置文件/etc/neutron/plugins/ml2/linuxbridge_agent.ini,在对应分组【[组名]】下添加配置:
[linux_bridge]
physical_interface_mappings = provider:eno16777736,eno172_16_0:eno33554984
[vxlan]
enable_vxlan = true
local_ip = 192.168.0.11
l2_population = true
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置,修改配置文件/etc/neutron/l3_agent.ini,在对应分组【[组名]】下添加配置:
[DEFAULT]
interface_driver = linuxbridge

配置,修改配置文件/etc/neutron/dhcp_agent.ini,在对应分组【[组名]】下添加配置:
[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true

配置,修改配置文件/etc/neutron/metadata_agent.ini,在对应分组【[组名]】下添加配置:
[DEFAULT]
nova_metadata_host = controller
metadata_proxy_shared_secret = METADATA_SECRET

配置,修改配置文件/etc/nova/nova.conf,在对应分组【[组名]】下添加配置:
[neutron]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET

创建软链:

# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

初始化数据库:

# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

设置开机启动并启动服务:

# systemctl restart openstack-nova-api.service

# systemctl enable neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service
# systemctl start neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service   neutron-metadata-agent.service

# systemctl enable neutron-l3-agent.service
# systemctl start neutron-l3-agent.service
  1. 验证
    状态是否正常:
# openstack network agent list

在这里插入图片描述
验证接入点:

# curl controller:9696

在这里插入图片描述

  1. 说明
  • 详细说明参考官网:
    https://docs.openstack.org/neutron/train/install/controller-install-rdo.html
  • 安装mysql时做了安装初始化,将密码设置为无,如有设置密码,连接时请加账号密码。

安装Horizon(控制台服务)

  1. 安装和配置
# yum install openstack-dashboard -y

配置,修改配置文件/etc/openstack-dashboard/local_settings,修改配置:
OPENSTACK_HOST = “controller”
ALLOWED_HOSTS = [‘*’, ‘localhost’]
WEBROOT = ‘/dashboard/’
SESSION_ENGINE = ‘django.contrib.sessions.backends.cache’
#SESSION_ENGINE = ‘django.contrib.sessions.backends.file’
CACHES = {
‘default’: {
‘BACKEND’: ‘django.core.cache.backends.memcached.MemcachedCache’,
‘LOCATION’: ‘127.0.0.1:11211’,
},
}
OPENSTACK_KEYSTONE_URL = “http://%s:5000/v3” % OPENSTACK_HOST
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
“identity”: 3,
“image”: 2,
“volume”: 3,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = “Default”
OPENSTACK_KEYSTONE_DEFAULT_ROLE = “user”
OPENSTACK_NEUTRON_NETWORK = {
‘enable_auto_allocated_network’: False,
‘enable_distributed_router’: True,
‘enable_fip_topology_check’: True,
‘enable_ha_router’: True,
‘enable_ipv6’: True,
# TODO(amotoki): Drop OPENSTACK_NEUTRON_NETWORK completely from here.
# enable_quotas has the different default value here.
‘enable_quotas’: True,
‘enable_rbac_policy’: True,
‘enable_router’: True,
‘enable_lb’: True,
‘enable_firewall’: False,
‘enable_vpn’: False,

'default_dns_nameservers': [],
'supported_provider_types': ['*'],
'segmentation_id_range': {},
'extra_provider_types': {},
'supported_vnic_types': ['*'],
'physical_networks': [],

}
TIME_ZONE = “Asia/Shanghai”

配置,修改配置文件/etc/httpd/conf.d/openstack-dashboard.conf,修改配置:
WSGIApplicationGroup %{GLOBAL}

设置开机启动并启动服务:

# systemctl restart httpd.service memcached.service
  1. 验证
    正常登陆系统:
    地址:http://192.168.0.11/dashboard
    域:default
    用户名:admin
    密码:ADMIN_PASS
    在这里插入图片描述
  2. 说明
  • 详细说明参考官网:
    https://docs.openstack.org/horizon/train/install/install-rdo.html

文章来源:https://blog.csdn.net/wrp920227/article/details/134966518
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。