天天看點

Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

文章目錄

  • 一.neutron
    • 1.概述
    • 2.linux網絡虛拟化
    • 3.Linux虛拟網橋
    • 4.虛拟區域網路
    • 5.開放虛拟交換機(ovs)
      • OVS特性:
    • 6.openstack網絡基礎服務
  • 二.netron網絡結構
    • 1.概述
    • 2.網絡子網與端口
    • 3.網絡拓撲類型
      • vxlan(虛拟擴充區域網路):隧道技術
      • 總結:
    • 4.網絡基本架構
      • 1)neutron-server
    • 5.典型的主節點部署
      • 1)控制節點和計算節點結合
      • 2)控制節點和網絡節點的結合
    • 6.neutron主要插件、代理與服務
      • 1)ML2插件
        • ML2插件誕生的原因:
      • 2)linux BRidge代理
      • 3)Open vSwitch代理
  • 三.openstack_neutron部署
    • CT控制節點
      • 1.建立資料庫neutron,并進行授權
      • 2.建立使用者、服務并賦權
      • 3.注冊API
      • 4.安裝提供者網絡(橋接)并修改相關配置檔案
        • 1)ebtables包是用來管理iptables規則的
        • 2)修改主配置檔案neutron.conf
        • 3)傳參
          • 檢視修改的配置檔案
        • 4)修改 ML2 plugin 配置檔案 ml2_conf.ini
        • 5)傳參
          • 檢視m12配置檔案
        • 6)修改 linux bridge network provider 配置檔案
          • 傳參
          • 檢視傳參後的檔案
        • 7)修改核心參數
        • 8)配置Linuxbridge接口驅動和外部網絡網橋
        • 9)修改dhcp_agent 配置檔案
        • 10)配置中繼資料代理、用于配置橋接與自服務網絡的通用配置
        • 11) 修改CT配置檔案/etc/nova/nova.conf,用于neutron互動
        • 12)建立ML2插件檔案符号連接配接
        • 13)初始化資料庫
      • 5.重新開機相關服務
        • 1)重新開機計算節點nova-api服務
        • 2)開啟neutron服務、設定開機自啟動
        • 3)因為配置了第三層L3網絡服務、是以需要啟動第三層服務
  • 五 .C1、C2計算節點操作
    • 1.部署neutron服務
      • 1)安裝neutron即相關服務
      • 2)修改neutron.conf檔案
    • 2.配置linux網橋代理
      • 1)修改linuxbridge網橋配置檔案
      • 2)修改核心
      • 3)修改nova.conf配置檔案
      • 4)啟動neutron網橋代理服務 設定開機自啟動
    • 六.驗證服務元件(CT 節點)
    • 總結

一.neutron

1.概述

neutron:網絡服務
           
  • openstack的網絡服務最主要的功能:為了虛拟機執行個體提供網絡連接配接(最初由nova-compute實作,現在被專門的網絡服務neutron取代)
  • neutron為整個openstack環境提供軟體定義網絡支援(二層交換、三層路由、防火牆、VPN、負載均衡)

2.linux網絡虛拟化

1.一台主控端/作業系統中,模拟多個相同或不同的作業系統
 2.虛拟化可以以軟體的形式模拟硬體的功能
           

openstack網絡服務最核心的是對二層實體網絡進行抽象和管理

  • 多個實體伺服器可被虛拟機取代,部署在同一台實體伺服器

    虛拟機由虛拟機管理器(Hypervisor)實作,通常采用kvm,對伺服器進行虛拟化的同時,網絡也進行虛拟化

  • 虛拟機管理器(Hypervisor)為虛拟機建立一個或多個虛拟網卡

    虛拟網卡等同于虛拟機的實體網卡

    實體交換機在虛拟網絡中被虛拟為虛拟交換機

3.Linux虛拟網橋

  • 與實體機不同,虛拟機沒有硬體裝置,需要和實體機和其他虛拟機進行通信,可提供虛拟網橋裝置,與實體交換機類似,在網橋上建立多個虛拟網絡接口,每個網絡接口與kvm虛拟機網卡相連
  • 在KVM虛拟系統中,為支援虛拟機的網絡通信,網橋接口的名稱通常為vnet開頭
  • veth對,成對出現,一組虛拟的網絡接口,連接配接機器和網橋

4.虛拟區域網路

一個網橋可橋接若幹虛拟機,每個虛拟機發出廣播會引發廣播風暴,影響虛拟機網絡性能

将多個虛拟機劃分到不同的vlan中,同一vlan的虛拟機相當于連接配接同一網橋上

虛拟環境中,将vlan與網橋對應起來

将網橋劃分到不同的vlan

  • vlan作用:

    1.劃分廣播域

    2.安全(隔離,避免資訊通過廣播域的方式暴漏、洩露)

    3.集中化管理

    4.節省IP位址

基于什麼方式進行劃分:

vlan标簽的方式打标簽的vlan技術

5.開放虛拟交換機(ovs)

OVS定義: 分布式虛拟交換機

OVS特性:

1.跨平台移植

2.具有産品級品質

3.可以輕松實作實體交換機的各項功能

4.跨伺服器,進行管理(基于分布式特性)可形成大規模虛拟網絡,便于統計/集中化管理

1.相容性
2.跨平台
           
  • 與硬體交換機具有相同特性

    可在不同虛拟平台之間移植

    具有産品級品質的虛拟交換機

    适合在生産環境中部署

  • 交換裝置在虛拟化對虛拟網絡至關重要(二層交換的作用)

    1.管理者可對實體交換機進行配置

    2.控制伺服器的網絡接入

    3.實作網絡隔離,流量監控,QOS配置,流量優化

QOS:網絡利用基礎技術,安全機制,解決網絡延遲和阻塞的一種技術

OVS優勢:采用openvswitch(OVS)技術的虛拟機 可使用虛拟網絡的管理、網絡狀态和流量的監控得以輕松實作

openswitch在雲環境終端阿虛拟化平台上實作分布式虛拟交換機,可将不同主機上openswitch交換連接配接起來,形成一個大規模的虛拟網絡

6.openstack網絡基礎服務

openstack網絡服務提供一個API讓使用者在雲中建立和定義網絡連接配接,該網絡服務的項目名稱Neutron

openstack網絡負責建立和管理虛拟網絡基礎架構(網絡、交換機、子網和路由器)由openstack計算服務nova管理

1.openstack提供網絡連接配接,相關網絡技術,拓撲接受的服務是neutron

2.neutron可以提高基礎網絡服務和進階網絡服務,但都是由nova進行管理

3.neutron 會為其他元件、服務、裝置提供服務(內建)

二.netron網絡結構

1.概述

簡化neutron網絡結構包括:一個外部網絡、一個内部網絡和一個路由器

  • 預設情況下:項目之間的内部網絡是互相隔離的,不能共享
  • neutron内部通路:直接負責的區域,外部通路内部,不是由netron直接負責,屬于個人,或者租戶

    netron需要實作内部網和路由器

2.網絡子網與端口

網路:隔離的二層廣播域,類似交換機中的vlan(netron支援多種類型網絡flat、vlan、vxlan)

子網:一個IPV4或者IPV6位址段及相關配置狀态,虛拟機執行個體的IP位址從子網中配置設定(DHCP位址池,netron的dhcp代理來實作的ip配置設定)

端口:連接配接裝置的連接配接點,類似虛拟交換機上的網絡端口,路由器、交換機、mac位址表 路由表接口:IP MAC 接口名稱

  • 通常可建立和配置網絡、子網和端口來搭建虛拟網絡,網絡必須屬于項目,一個項目可建立多個網絡,一個子網可有多個端口

3.網絡拓撲類型

flat
local
vlan
vxlan
GRE 
           

local: 生産環境不用,測試使用

flat:同一區域網路方式(一種簡單的扁平網絡拓撲)不适用vlan,沒有多資料打vlan标簽,無法進行網絡隔離

vlan:主要由二層交換機來實作

支援802.1q協定的虛拟區域網路,使用vlan标簽資料包,實作網絡隔離,同一vlan中

vxlan(虛拟擴充區域網路):隧道技術

1.是vlan的一種擴充,提高瓶頸的一種解決方案,它有更大的擴充性和靈活性

2.STP防止環路(阻塞端口)vxlan的資料包封裝到UDP通過傳輸和轉發,可以完整利用三層路由

3.vxlan的資料包是分裝的(快速和安全)

GRE:隧道技術IP over IP IP封裝IP,支援全部的路由協定

總結:

網絡虛拟化技術趨勢在傳統單層網絡基礎上疊加的一層邏輯網絡

虛拟或邏輯的接口的連接配接,每一個虛拟或者邏輯的連接配接對于Underlay(承載)網絡的一條路徑

由多個前後連接配接的組成,不會關心底層基礎網絡進行大規模修改

vxlan、GRE、GENEVE都是基于隧道技術的疊加網絡

4.網絡基本架構

  • 1.neutron-server 監聽API接受/響應請求
  • 2.根據請求類型,配置設定給對應的插件

    插件---->控制對應的代理---->實作網絡需求

    代理:會需要要網絡提供者給他技術/功能支援

1)neutron-server

  • restful API:直接對用戶端提供API服務
  • common service:通用服務,負責對API請求進行檢驗,認證,并授權
  • neutron core:核心處理程式,調用響應的插件API來處理API請求

5.典型的主節點部署

1)控制節點和計算節點結合

控制節點和計算節點都需要部署core plugin代理,因為控制節點與計算節點通過該代理,來能建立二層連接配接

2)控制節點和網絡節點的結合

通過增加節點承擔更大的負載,将所有的代理主鍵從上述控制節點分離出來,部署到獨立的網絡節點上

6.neutron主要插件、代理與服務

  • 插件:管理代理
  • 代理:負責具體的實作,為執行個體提供二三層連接配接,負責實體與虛拟網絡的轉換,進行中繼資料
  • 二層:以太網與交換機)
  • 三層:ip與路由
    • L3:osi七層模型的三層
    • DHCP:為執行個體配置設定IP位址

1)ML2插件

ML2插件誕生的原因:

1.缺陷:一個實列的網絡中,隻支援一種網絡代理 linux bridge

2.缺陷:精細化控制(集中化管理),維護和開發新的插件,對于開發而言,難度會不斷提高,運維難度也會提高

解決:允許在openstack網絡中同時使用二層網絡技術,不同的節點

類型驅動:負責維護網絡類型的狀态,驗證驗證,建立網絡等工作

機制驅動:二層網絡技術的控制

2)linux BRidge代理

linux BRidge代理

是neuton二層網絡虛拟化技術

linux bridge可将一台主機上多個網卡連接配接起來,可橋接實體網卡,可是虛拟網卡

選擇linux bridge代理,在計算節點上資料包從虛拟機發生到實體網卡需要經過裝置

tap接口 用于網橋連接配接的虛拟網卡
linux網橋 作為二層交換機
vlan接口 在vlan網絡中用于連接配接網橋
vxlan接口 在vxlan網絡中用于連接配接網橋
實體網絡接口 用于連接配接到實體網絡2、

3)Open vSwitch代理

與linux Bridge相比,ovs具有集中管理控制功能,而且性能優化,支援更多的功能

裝置類型:

tap裝置 用于網橋連接配接虛拟機網卡
linux網橋 橋接網絡接口
VETH對 直接相連的一對虛拟網絡接口,用來連接配接兩個虛拟網橋
OVS網橋 實體連接配接網橋直接連接配接到實體網卡,兩個OVS網橋通過一個VETH對來對接

三.openstack_neutron部署

配置接着:nova部署

CT控制節點

CT VM:192.168.10.154 NAT:192.168.10.155

1.建立資料庫neutron,并進行授權

mysql -u root -p
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';
flush privileges;
exit
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

2.建立使用者、服務并賦權

建立neutron使用者,用于在keystone做認證
openstack user create --domain default --password NEUTRON_PASS neutron

将neutron使用者添加到service項目中擁有管理者權限
openstack role add --project service --user neutron admin

建立network服務,服務類型為network
openstack service create --name neutron --description "OpenStack Networking" network
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

3.注冊API

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
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

4.安裝提供者網絡(橋接)并修改相關配置檔案

1)ebtables包是用來管理iptables規則的

yum -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables conntrack-tools
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

2)修改主配置檔案neutron.conf

cp -a /etc/neutron/neutron.conf{,.bak}
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak > /etc/neutron/neutron.conf
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

3)傳參

openstack-config --set /etc/neutron/neutron.conf database connection mysql+pymysql://neutron:[email protected]/neutron
openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router
openstack-config --set /etc/neutron/neutron.conf DEFAULT allow_overlapping_ips true
openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:[email protected]
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes true
openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes true
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password NEUTRON_PASS
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp
openstack-config --set /etc/neutron/neutron.conf nova  auth_url http://ct:5000
openstack-config --set /etc/neutron/neutron.conf nova  auth_type password
openstack-config --set /etc/neutron/neutron.conf nova  project_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova  user_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova  region_name RegionOne
openstack-config --set /etc/neutron/neutron.conf nova  project_name service
openstack-config --set /etc/neutron/neutron.conf nova  username nova
openstack-config --set /etc/neutron/neutron.conf nova  password NOVA_PASS
           
檢視修改的配置檔案
cat /etc/neutron/neutron.conf
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

4)修改 ML2 plugin 配置檔案 ml2_conf.ini

cp -a /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
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

5)傳參

openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers  flat,vlan,vxlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers  linuxbridge,l2population
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 extension_drivers  port_security
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks  provider
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:1000
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_ipset  true
           
檢視m12配置檔案
cat /etc/neut ron/plugins/ml2/ml2_conf.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

6)修改 linux bridge network provider 配置檔案

cp -a /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
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
傳參
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings  provider:ens33
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 192.168.10.154
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver  neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
           
檢視傳參後的檔案
cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

7)修改核心參數

echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
modprobe br_netfilter
sysctl -p
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

8)配置Linuxbridge接口驅動和外部網絡網橋

cp -a /etc/neutron/l3_agent.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/l3_agent.ini.bak > /etc/neutron/l3_agent.ini

openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_driver linuxbridge
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

9)修改dhcp_agent 配置檔案

cp -a /etc/neutron/dhcp_agent.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/dhcp_agent.ini.bak > /etc/neutron/dhcp_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver linuxbridge
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT enable_isolated_metadata true
           
cat /etc/neutron/dhcp_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

10)配置中繼資料代理、用于配置橋接與自服務網絡的通用配置

cp -a /etc/neutron/metadata_agent.ini{,.bak}
grep -Ev '^$|#' /etc/neutron/metadata_agent.ini.bak > /etc/neutron/metadata_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_host ct
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET
           
cat /etc/neutron/metadata_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

11) 修改CT配置檔案/etc/nova/nova.conf,用于neutron互動

openstack-config --set /etc/nova/nova.conf neutron url http://ct:9696
openstack-config --set /etc/nova/nova.conf neutron auth_url http://ct:5000
openstack-config --set /etc/nova/nova.conf neutron auth_type password
openstack-config --set /etc/nova/nova.conf neutron project_domain_name default
openstack-config --set /etc/nova/nova.conf neutron user_domain_name default
openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne
openstack-config --set /etc/nova/nova.conf neutron project_name service
openstack-config --set /etc/nova/nova.conf neutron username neutron
openstack-config --set /etc/nova/nova.conf neutron password NEUTRON_PASS
openstack-config --set /etc/nova/nova.conf neutron service_metadata_proxy true
openstack-config --set /etc/nova/nova.conf neutron metadata_proxy_shared_secret METADATA_SECRET
           
cat /etc/nova/nova.conf
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

12)建立ML2插件檔案符号連接配接

網絡服務初始化腳本需要/etc/neutron/plugin.ini指向ML2插件配置檔案的符号連結

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

13)初始化資料庫

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
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

5.重新開機相關服務

1)重新開機計算節點nova-api服務

systemctl restart openstack-nova-api.service
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

2)開啟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

netstat -anutp |grep 9696
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

3)因為配置了第三層L3網絡服務、是以需要啟動第三層服務

systemctl enable neutron-l3-agent.service
systemctl restart neutron-l3-agent.service
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

五 .C1、C2計算節點操作

C1 VM:192.168.10.136 NAT:192.168.10.157

C2 VM:192.168.10.133 NAT:192.168.10.156

1.部署neutron服務

1)安裝neutron即相關服務

yum -y install openstack-neutron-linuxbridge ebtables ipset conntrack-tools
#ipset:iptables的擴充,允許比對規則的集合而不僅僅是一個IP
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

2)修改neutron.conf檔案

cp -a /etc/neutron/neutron.conf{,.bak}
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak > /etc/neutron/neutron.conf
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

傳遞參數

openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:[email protected]
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password NEUTRON_PASS
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path /var/lib/neutron/tmp
           
cat /etc/neutron/neutron.conf
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

2.配置linux網橋代理

1)修改linuxbridge網橋配置檔案

cp -a /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
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

傳遞參數

openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini linux_bridge physical_interface_mappings  provider:ens37
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan enable_vxlan  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan local_ip 192.168.10.157
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan l2_population true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup enable_security_group  true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver  neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
           
cat /etc/neutron/plugins/ml2/linuxbridge_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

2)修改核心

echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
#modprobe:用于向核心中加載子產品或者從核心中移除子產品。modprobe -r 表示移除
modprobe br_netfilter
sysctl -p
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

3)修改nova.conf配置檔案

openstack-config --set /etc/nova/nova.conf neutron auth_url http://ct:5000
openstack-config --set /etc/nova/nova.conf neutron auth_type password
openstack-config --set /etc/nova/nova.conf neutron project_domain_name default
openstack-config --set /etc/nova/nova.conf neutron user_domain_name default
openstack-config --set /etc/nova/nova.conf neutron region_name RegionOne
openstack-config --set /etc/nova/nova.conf neutron project_name service
openstack-config --set /etc/nova/nova.conf neutron username neutron
openstack-config --set /etc/nova/nova.conf neutron password NEUTRON_PASS
           

檢視傳入的參數

cat /etc/nova/nova.conf
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

4)啟動neutron網橋代理服務 設定開機自啟動

systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作

六.驗證服務元件(CT 節點)

openstack extension list --network
openstack network agent list
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
  • 修改計算節點配置檔案----linuxbridge網橋配置檔案
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
           
Openstack_neutron部署(t版)一.neutron二.netron網絡結構三.openstack_neutron部署五 .C1、C2計算節點操作
openstack network agent list
           

總結

三個節點都需要配置neutron網絡,以下為部署思路:

配置neutron元件的使用者、認證、endpoint

設定提供者provider網絡(這裡是橋接模式)

① 配置二層網絡

② 配置網橋(插件)

③ 優化核心

④ 配置網橋接口與外部對接

⑤ 修改DHCP配置(修改配置檔案、代理)

⑥ 配置網橋與内部元件的配置(修改配置檔案、代理)

設定neutron與nova對接的配置

其中C1、C2節點配置相同

繼續閱讀