Hatでコンサルタントをしている織です。19日目のエントリです。Hatが製品として出しているKubernetesのディストリビューションです。Kubernetesでは、コンテナのネットワークインターフェースを設定する仕組みをCNIという仕様/ライブラリとして定義しており、様々なCNIプラグインを差し替えて使うことができるようになっています。Previewとして提供しています。本エントリでは、OVNをOpenShiftで使うとどういったいいことがあるかについてご紹介します。[1]というオープンソースの仮想スイッチのサブプロジェクトとして2015に開発が始まりました。開発が続けられています。Flowに似た構造になっており、フローの集合であるフローテーブルをつなげてパイプライン化し、入ってきたパケットがmatchするフローがあれば対応するactionを実施する、という形でパケットが処理されますノード間の通信はGeneveを使ってカプセル化といった辺りが挙げられます。v4.2から使えるようになった、というわけです。OVNのコンポーネントは下図のようになります。Networkの情報が格納されます。DBの情報を元に、自ノードのOVSに注入するOpenFlowのフローを生成します。OVNの環境を作る手順は下記のとおりです。実行してクラスターをデプロイする詳細はドキュメント[3]をご参照ください。[4]、これらがOVNの制御を行います。<none>OpenShift/KubernetesでOVNを使うとうれしい点OpenShift/KubernetesでOVNを使うとうれしい点がいくつかあります。大きな特徴としては、iptablesの利用を大幅に減らすことができる点が挙げられます。KubernetesのServiceオブジェクトによるエンドポイント(Pod)間のロードバランスは、多くのCNIプラグインではiptablesのstatisticモジュールのrandomモードを使って実現しています。iptablesはルール数が増えた場合のスケーラビリティに課題があることが知られており、Serviceオブジェクトが増えるとその分iptablesのルールが増えることになり、パフォーマンス上の懸念がありました。Network上の分散ロードバランサとして表現されます。最終的にOVSのFlowとして処理されるため、iptablesのルールが増えることはありません。Policyの機能も多くのCNIプラグインではiptablesで実現していますが、OVNを使った場合はOVSのFlowとして処理するため、iptablesのルールが増えることはありません。IP、複数クラスターにまたがった通信などを実現しようとしています。今のOVNはOVSDBに大きく依存しており、OVSDBが性能上のボトルネックになるケースがいくつかありました。これらに関してはすでに修正が入っており、今のupstreamのコードはスケーラビリティがかなり改善されています。v4.2でOVNを使う場合、OVSDBのPod(ovnkube-master)が冗長化されておらず、単一障害点となります。upstreamではRaftアルゴリズムを使ったOVSDBのActive-Active構成の実装中で[6]、その成果を取り込んで冗長化する方向で開発を進めています。OpenShiftのロードマップとしては、次かその次くらいのバージョンでOVNを正式にサポートしようと頑張っているところです。OpenShiftとOVNの今後にご期待ください。customizations↩OVNではなくOpenShiftデフォルトのOpenShift-SDNというCNIプラグインを使う場合は、openshift-sdnというnamespaceに関連するPodがデプロイされます。Networkにパケットを引き込みます。↩OVSDBの冗長化方式としては、Raftベースのクラスタリングの他に、Master-Slave形式のレプリケーションの機能もあります。HatのOpenStackディストリビューションでOVNを使う場合のOVSDBは、Master-Slaveのレプリケーションを使った構成で、Pacemakerで冗長化しています。HatでOpenShiftのサポートをしているid:nekopです。HatでOpenShiftのサポートをしているid:nekopです。Autoscalerで、リソース逼迫により自動的にワーカーノード...OpenShiftソリューションアーキテクトの林です。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。