第1章 ネットワーク設定について


ネットワークのカスタマイズとデフォルト設定を Red Hat build of MicroShift デプロイメントに適用する方法を学びます。各ノードは単一のマシンと単一の Red Hat build of MicroShift に含まれているため、デプロイごとに個別の構成、Pod、および設定が必要です。

クラスター管理者は、クラスターで実行されるアプリケーションを外部トラフィックに公開し、ネットワーク接続のセキュリティーを保護するための複数のオプションがあります。

  • NodePort などのサービス
  • IngressRoute などの API リソース

デフォルトで、Kubernetes は各 Pod に、Pod 内で実行しているアプリケーションの内部 IP アドレスを割り当てます。Pod とそのコンテナーの間にはトラフィックを配置できますが、NodePort などのサービスで公開されている場合を除き、クラスター外のクライアントは Pod に直接ネットワークアクセスできません。

1.1. OVN-Kubernetes ネットワークプラグインについて

OVN-Kubernetes は、Red Hat build of MicroShift デプロイメントのデフォルトのネットワークソリューションです。OVN-Kubernetes は、Open Virtual Network (OVN) に基づく Pod およびサービス用の仮想化ネットワークです。OVN-Kubernetes Container Network Interface (CNI) プラグインは、クラスターのネットワークプラグインです。OVN-Kubernetes ネットワークプラグインを使用するクラスターは、ノードで Open vSwitch (OVS) も実行します。OVN は、宣言ネットワーク設定を実装するようにノードで OVS を設定します。

1.1.1. ネットワークトポロジー

OVN-Kubernetes は、オーバーレイベースのネットワーク実装を提供します。このオーバーレイには、Service および NetworkPolicy の OVS ベースの実装が含まれています。オーバーレイネットワークは Geneve トンネルを使用するため、Pod の最大転送単位 (MTU) はホスト上の物理インターフェイスの MTU よりも小さく設定され、トンネルヘッダーが削除されます。

OVS は Red Hat build of MicroShift ノードで systemd サービスとして実行します。OVS RPM パッケージは、microshift-networking RPM パッケージへの依存関係としてインストールされます。OVS は、microshift-networking RPM がインストールされるとすぐに開始します。

1.1.1.1. IP 転送

ホストネットワーク sysctl net.ipv4.ip_forward カーネルパラメーターは、起動時に ovnkube-master コンテナーによって自動的に有効になります。これは、着信トラフィックを CNI に転送するために必要です。たとえば、ip_forward が無効になっている場合は、クラスターの外部から NodePort サービスにアクセスすると失敗します。

1.1.2. ネットワークパフォーマンスの最適化

デフォルトでは、リソース消費を最小限に抑えるために、OVS サービスに 3 つのパフォーマンス最適化が適用されます。

  • ovs-vswitchd.service および ovsdb-server.service への CPU アフィニティー
  • no-mlockall から openvswitch.service
  • ハンドラーと revalidator のスレッドを ovs-vswitchd.service に限定

1.1.3. ネットワーク機能

Red Hat build of MicroShift 4.12 で利用可能なネットワーク機能には、以下があります。

  • Kubernetes ネットワークポリシー
  • 動的ノード IP
  • 指定されたホストインターフェイス上のクラスターネットワーク
  • セカンダリーゲートウェイインターフェイス
  • デュアルスタック

Red Hat build of MicroShift 4.12 で利用できないネットワーク機能には、以下があります。

  • Egress IP/ファイアウォール/QOS: 無効
  • ハイブリッドネットワーク: サポートなし
  • IPsec: サポートなし
  • ハードウェアオフロード: サポートなし

1.1.4. Red Hat build of MicroShift ネットワーキングコンポーネントとサービスの概要

この簡単な概要では、Red Hat build of MicroShift でのネットワークコンポーネントとその操作を説明します。microshift-networking RPM は、ネットワーク関連の依存関係と systemd サービスを自動的に取り込み、ネットワークを初期化するパッケージです (microshift-ovs-init systemd サービスなど)。

NetworkManager
NetworkManager は、Red Hat build of MicroShift ノードで初期ゲートウェイブリッジを設定するのに必要です。NetworkManager および NetworkManager-ovs RPM パッケージは、必要な設定ファイルを含む microshift-networking RPM パッケージへの依存関係としてインストールされます。Red Hat build of MicroShift の NetworkManager は keyfile プラグインを使用し、microshift-networking RPM パッケージのインストール後に再起動します。
microshift-ovs-init
microshift-ovs-init.service は、microshift.service に依存する systemd サービスとして、microshift-networking RPM パッケージによりインストールされます。OVS ゲートウェイブリッジを設定します。
OVN コンテナー

2 つの OVN-Kubernetes デーモンセットが Red Hat build of MicroShift によってレンダリングおよび適用されます。

  • ovnkube-master northdnbdbsbdb、および ovnkube-master コンテナーが含まれます。
  • ovnkube-node ovnkube-node には、OVN-Controller コンテナーが含まれています。

    Red Hat build of MicroShift の起動後、OVN-Kubernetes デーモンセットが openshift-ovn-kubernetes namespace にデプロイされます。

パッケージ

OVN-Kubernetes マニフェストと起動ロジックは Red Hat build of MicroShift に組み込まれています。microshift-networking RPM に含まれる systemd サービスと設定は次のとおりです。

  • NetworkManager.service の /etc/NetworkManager/conf.d/microshift-nm.conf
  • ovs-vswitchd.service の /etc/systemd/system/ovs-vswitchd.service.d/microshift-cpuaffinity.conf
  • /etc/systemd/system/ovsdb-server.service.d/microshift-cpuaffinity.conf
  • microshift-ovs-init.service の /usr/bin/configure-ovs-microshift.sh
  • microshift-ovs-init.service の /usr/bin/configure-ovs.sh
  • CRI-O サービスの /etc/crio/crio.conf.d/microshift-ovn.conf

1.1.5. ブリッジマッピング

ブリッジマッピングにより、プロバイダーネットワークのトラフィックは、物理ネットワークに到達することが可能となります。トラフィックはプロバイダーネットワークから出て、br-int ブリッジに到達します。br-intbr-ex の間のパッチポートは、トラフィックがプロバイダーネットワークとエッジネットワークを通信できるようにします。Kubernetes Pod は、仮想イーサネットペアを介して br-int ブリッジに接続されます。仮想イーサネットペアの一端は Pod の namespace に接続され、他端は br-int ブリッジに接続されます。

1.1.5.1. プライマリーゲートウェイインターフェイス

ovn.yaml 設定ファイルで、目的のホストインターフェイス名を gatewayInterface として指定できます。指定されたインターフェイスは、CNI ネットワークのゲートウェイブリッジとして機能する OVS ブリッジ br-ex に追加されます。

1.1.5.2. セカンダリーゲートウェイインターフェイス

ovn.yaml 設定ファイルで、クラスターの ingress および egress 用に 1 つの追加のホストインターフェイスを設定できます。追加のインターフェイスは、2 番目の OVS ブリッジ br-ex1 に追加されます。追加のホストサブネットに向けられたクラスター Pod トラフィックは、br-ex1 を介して宛先 IP に基づいて自動的にルーティングされます。

CNI 設定に基づいて、2 つまたは 3 つの OVS ブリッジが作成されます。

デフォルトのデプロイメント
  • ovn.yaml 設定ファイルで externalGatewayInterface が指定されていません。
  • 2 つの OVS ブリッジ br-exbr-int が作成されます。
カスタマイズされたデプロイメント
  • externalGatewayInterface は、ovn.yaml 設定ファイルでユーザーが指定します。
  • br-exbr-ex1br-int の 3 つの OVS ブリッジが作成されます。

br-ex ブリッジは、microshift-ovs-init.service または手動で作成されます。br-ex ブリッジには、ホストネットワーク (アンダーレイ) と OVN ネットワーク (オーバーレイ) との間のトラフィックを区別する、静的にプログラムされた openflow ルールが含まれています。

br-int ブリッジは ovnkube-master コンテナーによって作成されます。br-int ブリッジには、クラスターネットワークトラフィックを処理する動的にプログラムされた openflow ルールが含まれています。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.