ネットワークサービスの中性子をインストールするには、2つのノード・インストール(X)のOpenStackの列車のバージョン

パートXのインストールネットワークサービス中性子


まず、準備作業

あなたがネットワークサービスの中性子をインストールする前に、まず次のように準備

1、現在のバックアップのVMware-Workstationの仮想マシン

閉じる2仮想マシン、Windowsエクスプローラでこのフォルダの仮想マシンフォルダのバックアップを見つけるのvmware-ワークステーションをインストールします。

image.png


2は、2良いバックアップ仮想マシンを開いた後、仮想マシンのNIC eth1がに調整無差別モード、制御および計算ノードが実行されます

yumのネットツールをインストール-y

ifconfigコマンドのeth1 promisc無差別

ifconfigコマンド

image.png

コントロールノード eth1のカード情報は、それがPROMISCは無差別モードを有効にする単語を持っていると述べています。


image.png

計算ノードのeth1カード情報は、ワードPROMISCは無差別モードを有効に持っていると述べています。


3、制御ノードは、これまでにインストールされたサービスが正常に動作している確認しました

管理者-openrc


キーストーンをチェック

トークン発行OpenStackの

image.png


審査一目

OpenStackの画像一覧

image.png


配置を確認

配置ステータスアップグレードチェック

image.png


ノヴァチェック

OpenStackの計算サービス一覧

image.png


新星ステータスアップグレードチェック

image.png



第二に、事前知識:Linuxのブリッジネットワークモード

中性子の必要性は、以下のインストールするので、Linuxのブリッジにこのネットワークプロバイダを、とてもここではいくつかあるのLinuxブリッジの基本的な概念

假设宿主机上有一块与外网连接的物理网卡eth0 ,上面跑了一个虚拟机VM1,那么使用Linux Bridge,宿主机会创建一个Linux Bridge的bridge br0将eth0和实例的虚拟网卡vnet0连接起来。如下图所示:

image.png

在下面的安装中,我们会使用计算节点(可以看成是是实例的宿主机)的网卡eth1来桥接实例的虚拟网卡(实例如果是linux系统,则其虚拟网卡名称是eth0)。

br0由neutron创建,使用的名称是类似brq8c8dcd81-d3这样的

vnet0是br0上的一个端口,由neutron创建,其名称类似tapfdf3a9b5-f8这样的其中包含有由neutron service plugin、agent创建的ip地址等信息。实例启动后,neutron会将该端口分配给实例。

这样,brq8c8dcd81-d3把宿主机的eth1,端口tapfdf3a9b5-f8桥接起来,从而为实例提供网络访问。

image.png

具体来说就是这样连接的:实例(实例系统是linux系统的话)的虚拟网卡eth0←→tapfdf3a9b5-f8←→brq8c8dcd81-d3←→宿主机(计算节点)的eth1


同理,如果再启动一个新实例,则neutron会在brq8c8dcd81-d3创建一个新的端口,tapxxxxxxx-xx,将其分配给该实例。

image.png

可见,类比vSphere,brq8c8dcd81-d3其实就是一个标准虚拟交换机,tapfdf3a9b5-f8就是上面的端口(端口组),eth1就是上行链路。


三、在控制节点安装网络服务neutron

结合上一节所讲的物理部署,控制节点主要安装neutron的下面组件

image.png

由于下面使用的是二层网络架构,所以不按照l3三层网络的相关组件。


下面在控制节点(ct)进行操作安装Neurton网络服务

创建Neutron数据库
mysql -u root -p
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';

image.png

创建neutron用户
. admin-openrc
openstack user create --domain default --password NEUTRON_PASS neutron

向neutron用户添加admin角色
openstack role add --project service --user neutron admin

创建neutron服务实体
openstack service create --name neutron --description "OpenStack Networking" network

创建neutron服务端点
openstack endpoint create --region RegionOne network public http://ct:9696
openstack endpoint create --region RegionOne network internal http://ct:9696
openstack endpoint create --region RegionOne network admin http://ct:9696

image.png

配置二层网络(官方文档为提供商网络)
1、安装软件包
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables

openstack-neutron:neutron-server的包

openstack-neutron-ml2:ML2 plugin的包

openstack-neutron-linuxbridge:linux bridge network provider相关的包

ebtables:防火墙相关的包

image.png

2、修改 neutron 配置文件(共有5个配置文件需要修改)

(1)neutron server的配置文件neutron.conf
cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak>/etc/neutron/neutron.conf
vim /etc/neutron/neutron.conf

[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@ct/neutron

[DEFAULT]
core_plugin = ml2
service_plugins =
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true

[keystone_authtoken]
www_authenticate_uri = http://ct:5000
auth_url = http://ct:5000
memcached_servers = ct:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

[nova]
auth_url = http://ct: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

image.png

(2)ML2 plugin的配置文件ml2_conf.ini
cp /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/ml2_conf.ini.bak>/etc/neutron/plugins/ml2/ml2_conf.ini
vim /etc/neutron/plugins/ml2/ml2_conf.ini

[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security

[ml2_type_flat]
flat_networks = provider

[securitygroup]
enable_ipset = true

image.png

(3)linux bridge network provider的配置文件linuxbridge_agent.ini
cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak>/etc/neutron/plugins/ml2/linuxbridge_agent.ini
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

[linux_bridge]
physical_interface_mappings = provider:eth1

[vxlan]
enable_vxlan = false

[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

image.png

注意上面的provder:eth1的写法(官方文档的坑点之一,其正确的写法是控制节点及计算节点连接外部网络的网卡eth1

image.png

从这段可以看出,INTERFACE_NAME指的是eth1,就是连接外部网络的那块网卡(provider interface)。

(4) 系统配置文件sysctl.conf(官方文档的坑点之一,它这里只是说明要检查而没有写如何配置
vim /etc/sysctl.conf
加入下面2行:
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

modprobe br_netfilter
sysctl -p

image.png

(5)dhcp agent配置文件dhcp_agent.ini
cp /etc/neutron/dhcp_agent.ini /etc/neutron/dhcp_agent.ini.bak
grep -Ev '^$|#' /etc/neutron/dhcp_agent.ini.bak> /etc/neutron/dhcp_agent.ini
vim /etc/neutron/dhcp_agent.ini

[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true

image.png

配置元数据代理,以便和nova通讯(可以参考上节所讲的neutron和nova的交互部分)
vim /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_host = ct
metadata_proxy_shared_secret = METADATA_SECRET

image.png

修改nova的配置文件,也是为了和neutron进行交互
vim /etc/nova/nova.conf
在原来的基础上,再在[neutron]部分加入:
[neutron]
auth_url = http://ct: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

image.png

建立ml2的软连接
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

填充Neutron数据库
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

image.png

重新启动nova-api服务
systemctl restart openstack-nova-api.service

启动neutron服务和配置开机启动
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

image.png

至此,控制节点上的neutron服务组件安装完毕,下面切换到另外一台虚拟机,在计算节点上安装neutron服务。

四、在计算节点安装网络服务neutron

结合上一节所讲的物理部署,计算节点主要安装neutron的下面组件

image.png

计算节点(c1)上进行如下操作安装网络服务neutron(计算节点)


安装组件
yum install openstack-neutron-linuxbridge ebtables ipset

image.png

修改配置文件
(1)修改neutron主配置文件
cp /etc/neutron/neutron.conf /etc/neutron/neutron.conf.bak
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak>/etc/neutron/neutron.conf
vim /etc/neutron/neutron.conf

[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@ct
auth_strategy = keystone

[keystone_authtoken]
www_authenticate_uri = http://ct:5000
auth_url = http://ct:5000
memcached_servers = ct:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

(2)配置Linux网桥代理
cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak
grep -Ev '^$|#' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak>/etc/neutron/plugins/ml2/linuxbridge_agent.ini
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

[linux_bridge]
physical_interface_mappings = provider:eth1

[vxlan]
enable_vxlan = false

[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

(3)sysctl.conf
vim /etc/sysctl.conf
加入下面2行:
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

modprobe br_netfilter
sysctl -p

修改新星配置文件
のvim /etc/nova/nova.conf
[中性子]
auth_url =のhttp:// CT:5000
AUTH_TYPE =パスワード
project_domain_name =デフォルト
user_domain_name =デフォルト
のregion_name = RegionOne
PROJECT_NAME =サービス
名=中性子
パスワード= NEUTRON_PASS

コンピューティングサービスを再起動し新星
systemctl再起動OpenStackの-新星-compute.service

スタート中性子サービス、スタートからの起動を設定する
中性子linuxbridge-agent.serviceの有効systemctl
systemctlスタート中性子linuxbridge-agent.serviceを

image.png

したがって、計算された中性子サービスノード上記制御ノード中性子検証インストール全体を以下に切り替え、インストールされています。

サービス提供全体の中性子を確認し、制御ノード(CT)中性子サービスを確認するには、次のコマンドを実行する。ADMIN-OpenRC OpenStackの拡張子リスト--network


image.png

OpenStackのネットワークエージェントリスト

image.png

4つのレコードがあるリストを確認してください。

おすすめ

転載: blog.51cto.com/11694088/2460315