OpenStackの櫛(5)のコアコンポーネントを取得 - 中性子の記事を

OpenStackの櫛(5)のコアコンポーネントを取得 - 中性子の記事を

序文

この記事では、中性子OpenStackのコアの構成要素のうちの1つのコンポーネントを説明します。それはクラウドコンピューティング、Linuxオペレーティングシステム、サーバーおよびクラスターの概念とOpenStackのアーキテクチャ図の事前の意識に初心者のために推奨され、前にこの記事を読みたいです。この記事では、OpenStackの程度理論の自分の知識を整理するために、だけでなく、読者と以下にOpenStackの中性子の彼らの浅い理解を共有することが主な理由です。

リンク:以下の三つの記事初心者のため以下では、マクロで雲やOpenStackのを理解するのに役立ちます。

クラウドコンピューティングについて語ります

OpenStackの概念とコアコンポーネントの概要

OpenStackの展開ノードタイプとアーキテクチャ

まず、中性子の基本的な考え方

1.1Neutron過去と現在

私はプロジェクトにこの名前の特定の理由を知りませんが、以前は量子、量子英語量子として知られている中性子は、中性子中性子は、英語に翻訳されますが、直感的な感覚ではこのようなものがハ単純ではないと思うだろう!

以下に示すように、実際には、最初のOpenStackのは、単一のコアプロジェクト、元々ノバ・ネットワークのネットワークモデルは、このモデルは、非常に単純であると呼ばれるの確立は、単一のフラットネットワークである誰に独立したネットワーク構成要素ではありません:

OpenStackの櫛(5)のコアコンポーネントを取得 - 中性子の記事を

おなじみのネットワークの知識がこのモードを発行される場合は、大きな欠点があり、例えば:

  • 単一ネットワークのボトルネックは、雲(例えば、伸縮)の特性を反映しません。
  • テナントの分離を達成することは困難。

独立したネットワークサービスをして、常に中性子プロジェクトの設立を最適化する - 思考の後に常に更新技術の開発と関連する技術首長への必要性が、試すので、最終的スキームを働きました。中性子のネットワークモデルは大きな変化を遂げており、それは後で紹介に入ります。これは主に中性子や開発の前身で技術開発、外観の魅力を体験しています。

1.2中性子の基本的な考え方

中性子は、コアOpenStackのプロジェクト、クラウドコンピューティング環境では、主にネットワークサービスの1つです。OpenStackの中では、中性子自体も共通の外部のサービスまたは機能モジュール複数のネットワークサービスを提供する分散アーキテクチャで使用されています。中性子はナースである「ネットワークサービス」を、達成するために設計されています。デザインに続くネットワークの仮想化を実現するためにSDN(ソフトウェア・ネットワークを定義)の原則に基づいており、その実装での使用は、関連するネットワーク技術のLinuxシステムです。

1.3中性子の主効果

OpenStackは、ユーザーがネットワークオブジェクトを作成し、管理することを可能にする特定の役割中性子ネットワークサービスでは、ここでのオブジェクトは、ネットワーク、サブネット、ポート、などを指し、これらのオブジェクトは、他のOpenStackのサービスを使用することができます。

そして、中性子は、為替の床、3つのルーティングおよび転送、負荷分散、ファイアウォールやその他のネットワーク通信技術***をカバーし、全体OpenStackの環境のためのサポートネットワークを提供します。

また、中性子プロジェクトの価値の言及は、プラグインのプラグイン手段、OpenStackのアーキテクチャのスケーラビリティがあることは非常に強いです、そして異なるネットワーク機器、安定した仕事に適応することができます。ML2は、典型的な代表としてみなされ、今後の記事を紹介します。

第二に、中性子の基本アーキテクチャ

上記のリンクにある第三の記事では、我々は、OpenStackの公式ウェブサイトで与えOpenStackのアーキテクチャ図とロジックチャートの概念が導入されました。あなたは慎重に慎重アーキテクチャ図を見れば、あなたは、OpenStackの中性子コンポーネントの両方にロジックチャートがあります。下に示すように、傍受の著者、:

OpenStackの櫛(5)のコアコンポーネントを取得 - 中性子の記事を
それでは、どのようにソート上の論理チャートを理解するのですか?

実際には、これとおなじみのAの事や人として私たちの生活は、あなたが最初に予備的な理解、理解、そして最終的にはおなじみ理解する必要があり、それは私たちは真実を学んでも同じです。だから、機能モジュールの概念と役割を理解するためのletの認知枠組み。

2.1Neutronモジュールアーキテクチャは、導入しました

2.1.1中性子サーバー

モジュールは、アクセス中性子の入り口として、適切なAPI(API RESTスタイルに基づいて、このような一般原則)を提供し、プロセスであり、通常は制御ノード上で実行されている、唯一の主要な中性子サービスプロセスです。

2.1.2中性子プラグイン

中性子プラグインは、プラグインコア(コア・プラグイン)とサービスプラグイン(サービスプラグ)コンポーネント。同様の役割でタスクを分散するための要求を受け取ります。

  • コアプラグイン:ネットワーク、サブネット、およびポート・コア・リソースを含む、基本的なレイヤ2仮想ネットワークサポートを提供するステップと、(更新技術と加えた変更のバージョンの後に後述されます)
  • サービスプラグインは:、ルータ、ファイアウォール、セキュリティグループと負荷分散サービスのサポートを提供するなど、他のプラグインに加えて、コアプラグインを指します。

2.1.3中性子エージェント

中性子プロキシモジュール、タスクを実行し、メッセージを受信し、上記中性子プラグインに対応し、実際のプロセスの作業の役割を再生するためのモジュールを担当します。

2.1.4中性子プロバイダ

中性子ネットワークプロバイダー、主な役割は、ネットワークサービスは、Linuxの橋、(また、両方の焦点である)OVS(オープンのvSwitch)または他の正常な中性子物理スイッチなどの仮想マシンまたは物理ネットワークデバイスを、OpenStackの提供することです。

2.1.5キュー

Queue--キューは、メッセージキューは、中性子は、一般的にデフォルト座標通信の問題は、言語のRabbitMQアーランに基づいて達成される種々のモジュール間の相互通信のために、ここで--MQあります。

2.1.6中性子データベース

ここでは、すべてのノウハウをデータベースですが、この情報はネットワークデータベースに格納され、使用されるデフォルトのデータベースがMariadbです。

さて、上記の内容を読んだ後、おそらく様々なモジュールのアーキテクチャを理解しています。だから、どのようにこれらのモジュールをリンクするには?

これは、このプロセスの作者が呼び出された建築作業のプロセスについて話をする時間を必要とする「プラグイン話します。」

2.2Neutronワークフロー

図は、ここでのアーキテクチャの動作原理と結合することにより、全体のプロセスの一例を指示します。

今、あなたは仮想ネットワークを作成するとします。全体のプロセスはこれです:

(1)中性子サーバは、対応するプラグインここで、(ML2考慮していない)は、対応するプラグは、ネットワークプロバイダ(中性子プロバイダ)がOVS(オープンのvSwitch)であると仮定することをメッセージキューを介して、仮想ネットワークを作成するための要求を受信しOVSは、プラグインです。

仮想ネットワークの必要性を作成するためのメッセージ、情報(名前、ID値、など)を受信した後、(2)OVSプラグは、中性子データベースに保存され、各ノードに通知エージェントキューメッセージを介して実行されます。

(3)エージェントは、エージェントすなわち、例えばVLANデバイスの後にメッセージを受信したノードに対応するデバイスを作成します。

三、中性子サーバー階層モデルを説明します

このセクションでは、中性子サーバーサービスについて詳しくお話します。次の図は、中性子サーバーの階層を示しています。

OpenStackの櫛(5)のコアコンポーネントを取得 - 中性子の記事を

3.1中性子サーバーの階層DESCRIPTION

上記に示した中性子サーバ層状構造、それらは上から下にあります。

3.1.1コアAPI API拡張和

  • コアAPI:外部管理ネットワーク(ネットワーク)を提供し、サブネット(サブネット)とRESTful APIのポート(ポート);
  • 拡張API:、RESTfulなAPIファイアウォール(ファイアウォール)およびその他のリソースをルーティングする外部の管理(ルータ)、負荷分散(LB)を提供します。

3.1.2一般的なサービス

  • 認証と検証のためのAPIリクエスト。

3.1.3中性子コア

  • 要求を処理呼び出しに対応する、プラグインで中性子サーバのプロセッサコアと、

3.1.4コア・プラグインAPI和拡張プラグインAPI

  • コア・プラグインのAPI:コア・プラグインは、カーネル・ハンドラにインターフェースを呼び出すために使用されます。
  • 拡張プラグインAPI:コアハンドラを拡張プラグイン・インターフェースを呼び出します。

3.1.5コア・プラグイン和サービスプラグイン

  • コアサービス・プラグインに対応し、APIに応じてコアプラグコア、膨張に応答してAPIサービスプラグ。

、データベースの負荷バランス、主に保守サービス・プラグインルータ、中でも、コアプラグは、データベースメインステートネットワークで維持サブネットとポートと、ネットワークの作成などのネットワークプロバイダにアクションを実行する適切なエージェントを呼び出すための責任でありますセキュリティグループおよび他の状態のリソース、および適切なエージェントを呼び出すための責任があり、このようなルータの作成などのネットワークプロバイダのアクションを実行。

3.1.6データベース

データに対応する情報を格納するためのデータベース。

実際には、最終的な分析では、中性子サーバー白はAPIとプラグインの組み合わせとして理解することができるという、二つのタスクを実行するために、サービスのAPIとプラグインを提供しています。

3.2中性子サーバーの応答フロー

実際には、サービス・リクエストのプロセスに応じて、中性子サーバが複雑ではありません、次のステップに分けることができます。

中性子サーバーは、ネットワーククライアントが要求を送信作成するために、仮定のケースを受け取ります。

図1に示すように、まず、ユーザに係る物体は、API(コアまたは拡張API)に対応する呼び出しを作成する必要があります。

2は、要求に応じて発行され、対応するAPIの後に、この時間は、検証の一般的なサービスによって認証および承認されます。

3後、認証および認可操作が要求に対応するプラグタイプのプロセスを呼び出すことにより、中性子コアコア処理プログラムに配信、を介して行われます。

第四に、中性子ネットワークの基本的な考え方

以下の順番で導入されたネットワーク、サブネット、およびポートなどのネットワークリソースの中性子管理、。

4.1ネットワーク

レイヤネットワークが分離されたブロードキャストドメインです。中性子は、ローカル、FLA、VLAN、VXLANやGREやジュネーブなど、ネットワークのいくつかのタイプをサポートしています。

地元

他のネットワークノードと分離ローカルネットワーク。ローカルネットワークと通信インスタンスでインスタンスのみ、主にスタンドアロン試験のため、同じネットワーク上の同じノードのローカルネットワーク。

特長:

  1. VLANは、レイヤ2ネットワークを単離することができない、特性を有していません。
  2. ローカルネットワークの仮想マシンインスタンスがインスタンス間で通信することができ、同じ仮想スイッチに接続されます。
  3. 仮想スイッチは、任意の物理的なNICにバインドされていない、ホストネットワークの外部と通信することができません。

平らな

フラットなネットワークには、VLANタギングネットワークではありません。例えばフラット・ネットワークは、ネットワークとの通信の同じインスタンス内に配置することができ、複数のノードにまたがってもよいです。

VLAN

VLAN 802.1Qタギングは、ネットワークのネットワークです。VLANブロードキャストドメインがレイヤで、同じインスタンスは、唯一異なるVLANルータの通信をVLAN通信することができます。ネットワークを介してVLANノードは、ネットワークの最も広く使用されるタイプです。

VXLAN

VXLANオーバーレイネットワークは、トンネル技術に基づいています。(VNIも呼ばれる)一意のセグメンテーションIDによってVXLANネットワークが他のネットワークと区別VXLAN。VXLANパケットを送信するためのUPDパケットにVNIによってカプセル化されています。3つの送信パケットの床ため、およびパッケージを介してネットワークインフラストラクチャVLAN物理的な限界を克服することができます。

VXLANとVLAN比べて利点:

  • テナント数は16M--サポートの数を増やすために、4Kから増加しました。
  • 任意のIPネットワーク上テナント内部の通信は、任意の仮想マシンの移行をサポート - ネットワーク全体の通信を、
  • 一般に、各テナントは、IPアドレスがテナントとの間で多重化することができる、論理的なゲートウェイ・インスタンスを有する - 繰り返し使用が競合していません。
  • サポートアプリケーションおよび他の技術 - SDN技術は、流れを最適化するために組み合わせることができます

それは

GREは、類似したオーバーレイネットワークVXLANです。主な違いは、代わりにUDPでカプセル化されたIPパケットを使用してのものです。

異なるネットワーク間の床の上では、隔離されています。

4.2サブネット

サブネットは、IPv4またはIPv6アドレスです。インスタンスの分布からIPサブネット。各サブネットマスクはスコープとIPアドレスを定義します。

4.3ポート

ポートは、仮想スイッチのポートとみなすことができます。これは、仮想ネットワークカードのVIF(仮想インターフェイス)のインスタンスがポートにバインドする際に、MACアドレスとポートのIPアドレスを定義して、ポートがMACおよびIP VIFに割り当てられます。
ポートとサブネットは多くの関係です。ポートは、サブネットに属している必要があります。サブネットは複数のポートを持つことができます。

五、中性子主な機能

最初のセクションでは、以前に全体OpenStackの中性子のための交流の床、3つのルーティング、負荷分散、ファイアウォールなどを含む、ネットワークのサポートと環境を提供し、確かに、中性子の主な役割に言及しました。中性子とは、ユーザーが設定機能を介して実装することができるように、対応するフレームを提供します。これらの機能は、以下に簡単に説明されています。

為替の5.1階のvSwitch

中性子は、Linuxブリッジ、LinuxのネイティブとオープンvSwitchを含む複数の仮想スイッチをサポートしています。

オープンのvSwitch(OVS)は、標準的な管理インタフェースとプロトコルをサポートするオープンソースの仮想スイッチです。

使用Linuxの橋とOVSは、中性子が従来のVLANネットワークに加えて作成することができ、あなたはまた、VXLANやGREなどのオーバレイネットワークベースのトンネリング技術を、作成することができます(Linuxのブリッジは現在、VXLANをサポートしています)。

5.2三ルーティングたvrouter

異なるIPサブネットの例は、ネットワーク間の通信の例を達成するために、中性子たvrouter(仮想ルータ)を構成することができます。一般的には、ルーティングおよびNAT IPフォワーディング、iptablesの技術によって達成することができます。

5.3ロードバランシング負荷バランス

バージョンOpenStackのグリズリーに最初に導入は、負荷分散サービスとして(LBaaS)、複数のインスタンスの負荷を分散する能力を提供します。LBaaSは中性子プラグインの形で統合を達成するために、異なるロード・バランシング製品とソリューションの様々なサポート、現在のデフォルトプラグインはHAProxy(個人の理解は、それが7負荷に属していることである)です。

5.4ファイアウォールファイアウォール

中性子インスタンスネットワークのセキュリティを保護し、次の二つの方法によってします。

  • セキュリティグループ:iptablesのネットワークパケットによって制限されたアクセスの例。
  • ファイアウォールサービスとして:FWaaS、制限付きアクセス仮想ルータネットワークパケットが、また、iptablesのことで達成します。

VIの概要

本論文では、コアサブプロジェクトのOpenStackの中性子1で説明し、非常に広範な原則をカバーする中性子プロジェクトは、我々は中性子プロバイダ、中性子プラグイン(ML2に焦点)、ネットワークのために、全体としての中性子を理解し、その基盤の最初の部分のために言われました原理は、関連機関(Linuxなど、ネットワークの仮想化、名前空間、および理解の他の専門語彙など)(L3)根深い原則は、後に更新していきます。

本論文では、コアコンポーネントの導入(もちろん中性子サーバーの応答に焦点を当てて)、中性子アーキテクチャの役割の基本的な概念を説明し、中性子が提供する主な機能とネットワークのタイプ説明(前の4種類を覚えています!)

読んでくれてありがとう!

おすすめ

転載: blog.51cto.com/14557673/2477886
おすすめ