1. 程式人生 > >OpenStack部署應用第四篇:網路服務Neutron(轉)

OpenStack部署應用第四篇:網路服務Neutron(轉)

1、網路服務介紹

  OpenStack Networking(neutron),允許建立、插入介面裝置,這些裝置由其他的OpenStack服務管理。外掛式的實現可以容納不同的網路裝置和軟體,為OpenStack架構與部署提供了靈活性。
它包含下列元件:
neutron-server
  接收和路由API請求到合適的OpenStack網路外掛,以達到預想的目的。
OpenStack網路外掛和代理
  Plug and unplug ports, create networks or subnets, and provide IP addressing. These plug-ins and agents differ depending on the vendor and technologies used in the particular cloud. OpenStack Networking ships with plug-ins and agents for Cisco virtual and physical switches, NEC OpenFlow products, Open vSwitch, Linux bridging, and the VMware NSX product.
  常見的代理L3(3層),DHCP(動態主機IP地址),以及外掛代理。
訊息佇列
  大多數的OpenStack Networking安裝都會用到,用於在neutron-server和各種各樣的代理程序間路由資訊。也為某些特定的外掛扮演資料庫的角色,以儲存網路狀態
OpenStack網路主要和OpenStack計算互動,以提供網路連線到它的例項。

  網路服務提供網路,子網以及路由這些物件的抽象概念。每個抽象概念都有自己的功能,可以模擬對應的物理裝置:網路包括子網,路由在不同的子網和網路間進行路由轉發。

  對於任意一個給定的網路都必須包含至少一個外部網路。不想其他的網路那樣,外部網路不僅僅是一個定義的虛擬網路。相反,它代表了一種OpenStack安裝之外的能從物理的,外部的網路訪問的檢視。外部網路上的IP地址可供外部網路上的任意的物理裝置所訪問

  外部網路之外,任何 Networking 設定擁有一個或多個內部網路。這些軟體定義的網路直接連線到虛擬機器。僅僅在給定網路上的虛擬機器,或那些在通過介面連線到相近路由的子網上的虛擬機器,能直接訪問連線到那個網路上的虛擬機器。

  如果外部網路想要訪問例項或者相反例項想要訪問外部網路,那麼網路之間的路由就是必要的了。每一個路由都配有一個閘道器用於連線到外部網路,以及一個或多個連線到內部網路的介面。就像一個物理路由一樣,子網可以訪問同一個路由上其他子網中的機器,並且機器也可以訪問路由的閘道器訪問外部網路。

  另外,你可以將外部網路的IP地址分配給內部網路的埠。不管什麼時候一旦有連線連線到子網,那個連線被稱作埠。你可以給例項的埠分配外部網路的IP地址。通過這種方式,外部網路上的實體可以訪問例項.

  網路服務同樣支援安全組。安全組允許管理員在安全組中定義防火牆規則。一個例項可以屬於一個或多個安全組,網路為這個例項配置這些安全組中的規則,阻止或者開啟埠,埠範圍或者通訊型別。

  每一個Networking使用的外掛都有其自有的概念。雖然對操作VNI和OpenStack環境不是至關重要的,但理解這些概念能幫助你設定Networking。所有的Networking安裝使用了一個核心外掛和一個安全組外掛(或僅是空操作安全組外掛)。另外,防火牆即服務(FWaaS)和負載均衡即服務(LBaaS)外掛是可用的。

2、環境準備

2.1 控制節點(node1)

1)建立資料庫(第一篇中已經完成)

2)安裝軟體及配置服務

yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
[[email protected] neutron]# grep -n '^[a-z]' neutron.conf
27:auth_strategy = keystone
30:core_plugin = ml2
33:service_plugins =
118:notify_nova_on_port_status_changes = true
122:notify_nova_on_port_data_changes = true
530:transport_url = rabbit://openstack:[email protected]
722:connection = mysql+pymysql://neutron:[email protected]/neutron
803:auth_uri = http://192.168.56.11:5000
804:auth_url = http://192.168.56.11:35357
805:memcached_servers = 192.168.56.11:11211
806:auth_type = password
807:project_domain_name = default
808:user_domain_name = default
809:project_name = service
810:username = neutron
811:password = neutron
1002:auth_url = http://192.168.56.11:35357
1003:auth_type = password
1004:project_domain_name = default
1005:user_domain_name = default
1006:region_name = RegionOne
1007:project_name = service
1008:username = nova
1009:password = nova
1122:lock_path = /var/lib/neutron/tmp


[[email protected]-node1 ml2]# grep -n '^[a-z]' ml2_conf.ini 
109:type_drivers = flat,vlan,gre,vxlan,geneve
114:tenant_network_types = flat,vlan,gre,vxlan,geneve
118:mechanism_drivers = linuxbridge
123:extension_drivers = port_security
159:flat_networks = public
236:enable_ipset = true

[[email protected]-node1 ml2]# grep -n '^[a-z]' linuxbridge_agent.ini
143:physical_interface_mappings = public:eth0
156:firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
161:enable_security_group = true
176:enable_vxlan = false

[[email protected]-node1 ml2]# grep -n '^[a-z]' /etc/neutron/dhcp_agent.ini
16:interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
32:dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
41:enable_isolated_metadata = True

[[email protected]-node1 ml2]# grep -n '^[a-z]' /etc/neutron/metadata_agent.ini 
22:nova_metadata_ip = 192.168.56.11
34:metadata_proxy_shared_secret = oldboy
# 網路服務初始化指令碼需要一個超連結 /etc/neutron/plugin.ini``指向ML2外掛配置檔案/etc/neutron/plugins/ml2/ml2_conf.ini``。如果超連結不存在,使用下面的命令建立
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

# 驗證同步結果
mysql -h 192.168.56.11 -u neutron -pneutron -e "use neutron;show tables;"

# 啟動服務
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

 3)建立使用者、API 端點等等

openstack service create --name neutron --description "OpenStack Networking" network

openstack endpoint create --region RegionOne network public http://192.168.56.11:9696
openstack endpoint create --region RegionOne network internal http://192.168.56.11:9696
openstack endpoint create --region RegionOne network admin http://192.168.56.11:9696

4)驗證服務

[[email protected] ~]# neutron agent-list          
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| id                          | agent_type         | host                    | availability_zone | alive | admin_state_up | binary                    |
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| 4a845146-20c8-4976-8440-8c5 | Metadata agent     | linux-node1.example.com |                   | :-)   | True           | neutron-metadata-agent    |
| 359e9f4b6                   |                    |                         |                   |       |                |                           |
| a0304ab9-4cf6-4dff-80ae-    | Linux bridge agent | linux-node1.example.com |                   | :-)   | True           | neutron-linuxbridge-agent |
| d517ec256f9b                |                    |                         |                   |       |                |                           |
| c753850b-aede-417e-         | DHCP agent         | linux-node1.example.com | nova              | :-)   | True           | neutron-dhcp-agent        |
| 8ea0-392a91248908           |                    |                         |                   |       |                |                           |
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+

2.2 計算節點(node2)

1)軟體安裝及配置

yum install -y openstack-neutron-linuxbridge ebtables ipset
[[email protected] neutron]# grep -n '^[a-z]' /etc/neutron/neutron.conf 
27:auth_strategy = keystone
530:transport_url = rabbit://openstack:[email protected]
803:auth_uri = http://192.168.56.11:5000
804:auth_url = http://192.168.56.11:35357
805:memcached_servers = 192.168.56.11:11211
806:auth_type = password
807:project_domain_name = default
808:user_domain_name = default
809:project_name = service
810:username = neutron
811:password = neutron
1116:lock_path = /var/lib/neutron/tmp
[[email protected]-node2 neutron]# grep -n '^[a-z]' /etc/neutron/plugins/ml2/linuxbridge_agent.ini   
143:physical_interface_mappings = public:eth0
156:firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
161:enable_security_group = true
176:enable_vxlan = false
systemctl restart openstack-nova-compute.service
systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service

2)驗證服務配置

[[email protected] ~]# neutron agent-list 
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| id                          | agent_type         | host                    | availability_zone | alive | admin_state_up | binary                    |
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
| 4a845146-20c8-4976-8440-8c5 | Metadata agent     | linux-node1.example.com |                   | :-)   | True           | neutron-metadata-agent    |
| 359e9f4b6                   |                    |                         |                   |       |                |                           |
| 56378775-792f-483c-         | Linux bridge agent | linux-node2.example.com |                   | :-)   | True           | neutron-linuxbridge-agent |
| ad04-bd662200d1fc           |                    |                         |                   |       |                |                           |
| a0304ab9-4cf6-4dff-80ae-    | Linux bridge agent | linux-node1.example.com |                   | :-)   | True           | neutron-linuxbridge-agent |
| d517ec256f9b                |                    |                         |                   |       |                |                           |
| c753850b-aede-417e-         | DHCP agent         | linux-node1.example.com | nova              | :-)   | True           | neutron-dhcp-agent        |
| 8ea0-392a91248908           |                    |                         |                   |       |                |                           |
+-----------------------------+--------------------+-------------------------+-------------------+-------+----------------+---------------------------+
[[email protected]-node1 ~]# nova service-list
+----+------------------+-------------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                    | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+-------------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-scheduler   | linux-node1.example.com | internal | enabled | up    | 2017-01-13T14:31:06.000000 | -               |
| 2  | nova-conductor   | linux-node1.example.com | internal | enabled | up    | 2017-01-13T14:31:09.000000 | -               |
| 3  | nova-consoleauth | linux-node1.example.com | internal | enabled | up    | 2017-01-13T14:31:12.000000 | -               |
| 6  | nova-compute     | linux-node2.example.com | nova     | enabled | up    | 2017-01-13T14:31:13.000000 | -               |
+----+------------------+-------------------------+----------+---------+-------+----------------------------+-----------------+

相關推薦

OpenStack部署應用網路服務Neutron

1、網路服務介紹   OpenStack Networking(neutron),允許建立、插入介面裝置,這些裝置由其他的OpenStack服務管理。外掛式的實現可以容納不同的網路裝置和軟體,為OpenStack架構與部署提供了靈活性。它包含下列元件:neutron-server  接收和路由API請求到合適

OpenStack部署應用計算服務Nova

1、計算服務介紹   OpenStack計算元件請求OpenStack Identity服務進行認證;請求OpenStack Image服務提供磁碟映象;為OpenStack dashboard提供使用者與管理員介面。磁碟映象訪問限制在專案與使用者上;配額以每個專案進行設定(例如,每個專案下可以建立多少例項)

OpenStack部署應用建立一個例項

  這部分建立必須的虛擬網路來支援建立多個例項。網路選項1包含一個使用公共虛擬網路(外部網路)的例項。網路選項2包含一個使用公共虛擬網路的例項、一個使用私有虛擬網路(私有網路)的例項。 1、建立虛擬網路 根據你在網路選項中的選擇來建立虛擬網路。如果你選擇選項1,只需建立一個公有網路。如果你選擇選項2,同時建

OpenStack部署應用儀表盤Horizon

1、儀表盤服務Horizon介紹   Dashboard(horizon)是一個web介面,使得雲平臺管理員以及使用者可以管理不同的Openstack資源以及服務。這個部署示例使用的是 Apache Web 伺服器。   dashboard僅在核心服務中要求認證服務。你可以將dashboard與其他服務,如映

OpenStack部署應用OpenStack常見問題解答

1、常見面試題 1)元件介紹(keystone等) 2)講解虛擬機器建立流程 3)Neutron網路型別選型 4)KVM與OpenStack區別 5)OpenStack和公司業務應用優勢? 資源利用率 管理的簡單高效性 (adsbygoogle = window.adsbygoo

OpenStack部署應用OpenStack從自動化裝機到自動啟動一個小例項

1、部署實現思路 1)部署cobbler(功能:自動化裝機CentOS 7、設定本地yum源) 2)OpenStack實現架構設計及網路等配置規劃 3)設定主機配置及虛擬化設定(聯想實際業務的主機、網路裝置選項購買等準備工作) 4)從中控機執行部署程式,開始openstack部署 5)手動檢查配置並檢視例項啟

OpenStack部署應用虛擬機器建立流程

1、虛擬機器建立流程 2、深入理解虛擬機器的磁碟、網路及Metadata 3、OpenStack虛擬機器生產映象構建實踐 1.建立虛擬機器硬碟 qemu-img create -f qcow2 /tmp/centos.qcow2 10G 2.建立虛擬機器 virt-install --virt-type

OpenStack部署應用第二映象服務glance

1、映象服務Glance介紹   映象服務 (glance) 允許使用者發現、註冊和獲取虛擬機器映象。它提供了一個 REST API,允許您查詢虛擬機器映象的 metadata 並獲取一個現存的映象。您可以將虛擬機器映象儲存到各種位置,從簡單的檔案系統到物件儲存系統—-例如 OpenStack 物件儲存, 並

數據分析 聚類分析劃分

think trace stat pid 函數返回 around 構建 之前 得出 聚類是把一個數據集劃分成多個子集的過程,每一個子集稱作一個簇(Cluster),聚類使得簇內的對象具有很高的相似性,但與其他簇中的對象很不相似,由聚類分析產生的簇的集合稱作一個聚類。在相同的

Tomcat 請求處理流程

![](https://cdn.geekdigging.com/java/tomcat/tomcat_header.jpg) ## 1. 引言 既然是在講 Tomcat ,那麼一個 HTTP 請求的請求流程是無論如何也繞不開的。 首先拋開所有,使用我們現有的知識面,猜測一下一個請求被 Tomcat 處

R實戰 數據處理基礎

計算 edi 字符數 定義函數 空間 數值 sqrt 字符類 ceil 數據結構用於存儲數據,不同的數據結構對應不同的操作方法,對應不同的分析目的,應選擇合適的數據結構。在處理數據時,為了便於檢查數據對象,可以通過函數attributes(x)來查看數據對象的屬性,str(

R繪圖 繪製條形圖ggplot2

使用geom_bar()函式繪製條形圖,條形圖的高度通常表示兩種情況之一:每組中的資料的個數,或資料框中列的值,高度表示的含義是由geom_bar()函式的引數stat決定的,stat在geom_bar()函式中有兩個有效值:count和identity。預設情況下,stat="count",這意味著每個條的

[從設計到架構]依賴的哲學

http://www.cnblogs.com/anytao/archive/2008/12/02/1345389.html  本文將介紹以下內容: 關於依賴和耦合 面向抽象程式設計 依賴倒置原則 控制反轉 依賴注入 工廠模式 Unity框架應用 說在,開篇之前 在老

Tomcat 請求處理流程

![](https://cdn.geekdigging.com/java/tomcat/tomcat_header.jpg) ## 1. 請求處理流程 AprEndPoint 順著上一篇接著聊,當一個請求傳送到 Tomcat 以後,會由聯結器 `Connector` 轉送至 `AprEndPoint` ,

Databricks 5Databricks檔案系統DBFS

Databricks 檔案系統 (DBFS,Databricks File System) 是一個裝載到 Azure Databricks 工作區的分散式檔案系統,可以在 Azure Databricks 群集上使用。 一個儲存物件是一個具有特定格式的檔案,不同的格式具有不同的讀取和寫入的機制。 DBFS 是

清華大學MOOC《作業系統》1講“作業系統概述”總結

課程內容概述 這一講對課程內容和作業系統做了一個概括性的介紹,主要包括以下幾塊內容: 教學安排 什麼是作業系統 作業系統的演變 作業系統結構的分類 教學安排 本課程將講述的內容包括: 作業系統結構 中斷和系統呼叫 記憶體管理 程序和執行緒 處理機排程

RabbitMQSpring集成RabbitMQ

led ase don 才會 catch rabl try edt .get 前面幾篇講解了如何使用rabbitMq,這一篇主要講解spring集成rabbitmq。 首先引入配置文件org.springframework.amqp,如下 &l

Web框架 - Django

執行指定 gin nag nbsp 表達 font con 展現 del 前言 Django是一個開放源代碼的Web應用框架,由Python寫成。它和J2EE一樣,采用了MVC的軟件設計模式,即模型M,視圖V和控制器C。 本文將講解DJang

python函數續

級別 加載 失效 結束 解釋 全局 定義 執行文件 作用 1、名稱空間和作用域 名稱空間:存放名字的地方,準確的說名稱空間是存放名字與變量值綁定關系的地方名稱空間共有三種名稱空間既:  1、內置名稱空間:在python解釋器啟動時產生,存放一些python內置的名字  2

Spark SQL Catalyst源碼分析之TreeNode Library

pla where 並且 手冊 input bst node lec esc /** Spark SQL源碼分析系列文章*/ 前幾篇文章介紹了Spark SQL的Catalyst的核心運行流程、SqlParser,和Analyzer,本來打算直接寫Optimizer