Contrail Kubernetes アーキテクチャ
Witnessing では、第2章の Kubernetes の主要な概念を理解した後、標準の Kubernetes 導入環境に Contrail を追加するメリットがあるでしょうか。
Www.juniper.netの最新のサービスについては、Contrail の製品ページを参照してください。 Contrail では、複数の環境 (Openstack、Kubernetes など) と enriches Kubernetes’のネットワークおよびセキュリティ機能に共通の導入を提供しています。
複数の環境への導入に関しては、コンテナは、アプリケーションの構築における現在の傾向です (コンテナが VM でホストされるようなネストアプローチについては触れません)。’しかし、すべての人が vm から迅速なコンテナへの移行を期待しているわけではありません。パブリッククラウドで完全にまたは部分的に実行されるワークロードを追加すると、Kubernetes が管理する必要があるのは、ネットワークおよびセキュリティ管理者の misery を見ることができます。
多くの組織の管理者は、各環境に対して個別のオーケストレーション管理マネージャーを担当しています。OpenStack または、コンテナの VM、Kubernetes、または Os 向けの VMware NSX は、AWS console を対象としています。WContrail は、あらゆるクラウド、ワークロード、すべての導入環境に対して、動的なエンドツーエンドのネットワークポリシーと制御を提供することで、この misery を軽減しています。
1つのユーザーインターフェイス Contrail から、抽象ワークフローが特定のポリシーに変換され、すべての環境で仮想オーバーレイ接続のオーケストレーションが簡素化されます。これを実現するために、プライベートまたはパブリッククラウドに配置された BMS、VM、コンテナを接続する仮想ネットワークを構築して保護します。
Kubernetes を導入して、OpenStack によってオーケストレーションされた Vm で pod を起動することもできますが、この章では、Kubernetes のみに焦点を当てています。ここで説明されている多くの機能を他の環境に拡張することもできますが、Contrail 標準の Kubernetes 導入にも enriches です。
Kubernetes はネットワークを提供していませんが、ネットワーク実装の基本要件を定めており、すべての CNI (コンテナネットワークインターフェイス) プロバイダによって処理されるようになっています。Juniper Contrail は CNI プロバイダの1つです。以下を参照してください。詳細については、 https://kubernetes.io/docs/concepts/cluster-administration/networking/をご覧ください。
Kubernetes は、ネットワークの実装に関して明確に定義された要件を満たしています。
ノードのポッドは NAT なしですべてのノードのすべてのポッドと通信できます。
ノード上のエージェント (システムデーモン、kubelet など) は、そのノード上のすべてのポッドと通信できます。
ノードのホストネットワーク内のポッドは、NAT なしにすべてのノードのすべてのポッドと通信できます。
Kubernetes は、クラスターに限定されたいくつかのセキュリティー機能とフラットなネットワーク接続を提供しますが、その上に、Contrail が提供することができます。
Segmentations およびマルチテナント用にカスタマイズされた名前空間とサービス isolations
分散型のロードバランシングとファイアウォールにより、一元的なフローとログのインサイトを提供します。
他の環境に拡張できるタグ (オープンスタック、VMWare、BMS、AWS など) を使用した豊富なセキュリティーポリシー
サービス連鎖
この章では、これらの機能のいくつか’について説明しますが、まず Contrail アーキテクチャとオブジェクトマッピングについて説明します。
Contrail Kube マネージャー
Contrail の新しいモジュールが追加されました。 contrail-kube-manager
、KM として短縮されます。Kubernetes API サーバーを監視して関心のある Kubernetes リソースを調査し、それらを Contrail コントローラオブジェクトに変換します。Figure 1は、基本的なワークフローを示しています。
Kubernetes の Contrail オブジェクトマッピング
これは、当社が把握している通常の Contrail からの変化ではありませ’んが、その背後に多くの問題が発生しています。Kubernetes/Contrail を扱うことは、オブジェクトのマッピングに関するものであることに注意してください。’これは、Contrail は複数の環境を管理する単一のインターフェイスであり、各環境に独自の頭字語や用語があるため、そのためにはプラグインによって実行されるこのマッピングが必要になるからです。Kubernetes では、 contrail-kube-manager
これが可能です。
Juniper Contrail には、環境/オーケストレータごとに固有のプラグインがあります。さらに詳しく知り、最新のリリース情報を入手するには、 https://www.juniper.net/us/en/products-services/sdn/contrail/の Juniper Contrail にアクセスしてください。
たとえば、Kubernetes の名前空間は、仮想クラスターを作成する場合と同じように、複数のチームまたはプロジェクト間でセグメント化することを目的としています。Contrail 同様の概念がprojectという名前になっているため、Kubernetes で名前空間を作成すると、Contrail に同等のプロジェクトが自動的に作成されます。詳細については後ほど説明しますが、Figure 2に示すオブジェクトのリストについては、アーキテクチャを理解するうえで役に立つでしょう。