控制节点和计算节点都需要的操作

如下:

安装NOVA

安装组件

bash
apt install nova-compute

配置组件

ini
vim /etc/nova/nova.conf
[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@controller124
my_ip = 192.168.2.25

RABBIT_PASS为rabbit创建openstack用户设置的密码 my_ip为Compute节点的IP地址

ini
[api]
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://controller124:5000/
auth_url = http://controller124:5000/
memcached_servers = controller124:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = NOVA_PASS

NOVA_PASS为openstack创建nova用户设置的密码

ini
[service_user]
send_service_user_token = true
auth_url = http://controller124:5000/v3
auth_strategy = keystone
auth_type = password
project_domain_name = Default
project_name = service
user_domain_name = Default
username = nova
password = NOVA_PASS

NOVA_PASS为openstack创建nova用户设置的密码

ini
[vnc]
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://controller124:6080/vnc_auto.html

controller替换成Controller的IP地址

ini
[glance]
api_servers = http://controller124: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://controller124:5000/v3
username = placement
password = PLACEMENT_PASS

PLACEMENT_PASS为openstack创建placement用户设置的密码

修改虚拟类型

bash
egrep -c '(vmx|svm)' /proc/cpuinfo

如果返回为0则需要修改

bash
vim /etc/nova/nova-compute.conf
[libvirt]
virt_type = qemu

重启服务

bash
systemctl restart nova-compute

安装Neutron

安装组件

bash
apt -y install neutron-common neutron-plugin-ml2 neutron-ovn-metadata-agent ovn-host openvswitch-switch

配置组件

ini
vim /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins = ovn-router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True
transport_url = rabbit://openstack:RABBIT_PASS@controller124

RABBIT_PASS为rabbit创建openstack设置的密码

ini
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller124:5000
memcached_servers = controller124:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = neutron
password = NEUTRON_PASS

NEUTRON_PASS为openstack创建neutron用户设置的密码

ini
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
vim /etc/neutron/plugins/ml2/ml2_conf.ini
[DEFAULT]
debug = false
[ml2]
type_drivers = flat,geneve
tenant_network_types = geneve
mechanism_drivers = ovn
extension_drivers = port_security
overlay_ip_version = 4
[ml2_type_geneve]
vni_ranges = 1:65536
max_header_size = 38
[ml2_type_flat]
flat_networks = *
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[ovn]
ovn_nb_connection = tcp:Controller124的IP:6641
ovn_sb_connection = tcp:Controller124的IP:6642
ovn_l3_scheduler = leastloaded
ovn_metadata_enabled = True
ini
vim /etc/neutron/neutron_ovn_metadata_agent.ini
[DEFAULT]
nova_metadata_host = controller124
nova_metadata_protocol = http
metadata_proxy_shared_secret = METADATA_PASS

METADATA_PASS为设置的密码要与Controller的配置一样

ini
[ovs]
ovsdb_connection = tcp:127.0.0.1:6640
[agent]
root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf
[ovn]
ovn_sb_connection = tcp:Controller的IP:6642
ini
vim /etc/default/openvswitch-switch
OVS_CTL_OPTS="--ovsdb-server-options='--remote=ptcp:6640:127.0.0.1'"
vim /etc/nova/nova.conf
[neutron]
auth_url = http://controller124: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_PASS
insecure = false

NEUTRON_PASS为openstack创建neutron用户设置的密码 METADATA_PASS为创建的密码

重启服务

bash
systemctl restart openvswitch-switch ovn-controller ovn-host
systemctl restart neutron-ovn-metadata-agent
systemctl restart nova-compute
ovs-vsctl set open . external-ids:ovn-remote=tcp:Controller的IP:6642
bash
ovs-vsctl set open . external-ids:ovn-encap-type=geneve
ovs-vsctl set open . external-ids:ovn-encap-ip=Compute的IP

注意是Compute的IP

创建OVN网络

Controller节点!!! 和 Compute节点!!! 都需要的操作:

开始

bash
# br-ens34你可以随便取名字
ovs-vsctl add-br br-ens34
12
# ens34为第二张网卡的名称
ovs-vsctl add-port br-ens34 ens34
12
# provider你可以随便取名字
ovs-vsctl set open . external-ids:ovn-bridge-mappings=provider:br-ens34

结束