Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

単一クラスタのマルチネットワークContrailのインストール

概要 KubernetesトラフィックとContrailトラフィックが別々のネットワーク上を通過する導入環境に、単一クラスタContrailをインストールする方法の例を参照してください。

単一クラスタのマルチネットワーク導入の場合:

  • Contrailは、そのクラスター向けのネットワークプラットフォームであり、CNIプラグインです。Contrail コントローラは Kubernetes コントロール プレーンで動作し、Contrail データ プレーン コンポーネントはクラスタ内のすべてのノードで実行されます。

  • クラスタ トラフィックは 2 つのネットワークに分離されます。Kubernetesコントロールプレーンのトラフィックは1つのネットワークを通過し、Contrail制御とデータトラフィックは2番目のネットワークを通過します。トラフィックを2つ以上のネットワークに分離することも可能ですが(あまり一般的ではありません)、これはこれらの例の範囲外です。

図 1 は、この単一クラスターのマルチネットワークの例に従う場合に作成するクラスターを示しています。クラスターは、単一の制御プレーン ノード、2 つのワーカー ノード、2 つのサブネットで構成されています。

表示されるすべてのノードは、VM またはベア メタル サーバーです。

図 1:シングル クラスタ マルチネットワーク Contrail Single Cluster Multi-Network Contrail

Kubernetesコントロールプレーンのトラフィックは、172.16.0.0/24ファブリック仮想ネットワーク上を通過し、Contrail制御とデータトラフィックは10.16.0.0/24ファブリック仮想ネットワーク上を行きます。ファブリックネットワークは、クラスターが実行されるアンダーレイを提供します。

ローカル管理者は、ゲートウェイを介して到達可能な別のネットワークに接続されているのが表示されます。これは、ローカル管理者が企業 LAN からファブリックとクラスタを管理する多くのインストールで一般的です。以下の手順では、ローカル管理者ステーションをローカルコンピューターと呼んでいます。

メモ:

すべてのクラスター ノードを接続するのはデータ センター ファブリックです。この例では、2 つのサブネットとして示しています。実際の導入では、データセンターファブリックは、クラスターの物理接続を提供するスパインおよびリーフスイッチのネットワークです。

Apstraが管理するデータセンターでは、この接続は、基盤となるファブリックスイッチ全体で作成するオーバーレイ仮想ネットワークを通じて指定されます。

このセクションの手順は、指定されたマニフェストを使用して、指定された Contrail 導入を作成する方法の基本的な例を示しています。このセクションで説明されている導入に限定されることはなく、提供されるマニフェストの使用に限定されることもありません。Contrail は、多数の導入をサポートしており、詳細には対応しません。提供された例を開始点として使用して、特定の状況に合わせて独自のマニフェストを展開します。

表 1:単一クラスタのマルチネットワークの例
カーネル モード データ プレーン DPDK データ プレーンの リリース
22.1 提供されていない例 提供されていない例
22.2 リリース 22.2 以降でカーネル モード データ プレーンを実行する単一クラスタ マルチネットワーク Contrail をインストールする リリース 22.2 で DPDK データ プレーンを実行している単一クラスタ マルチネットワーク Contrail をインストールする
22.3 以上 リリース 22.2 以降でカーネル モード データ プレーンを実行する単一クラスタ マルチネットワーク Contrail をインストールする リリース 22.3 以降で DPDK データ プレーンを実行している単一クラスタ マルチネットワーク Contrail をインストールする
メモ:

提供されるマニフェストは、リリース間で互換性がない場合があります。実行中のリリースでマニフェストを使用してください。

リリース 22.2 以降でカーネル モード データ プレーンを実行する単一クラスタ マルチネットワーク Contrail をインストールする

リリース 22.2 以降でカーネル モード データ プレーンを実行している単一クラスタのマルチネットワーク導入環境に Contrail をインストールするには、次の手順を実行します。

この例の手順で使用するマニフェストは 、シングルクラスター/single_cluster_deployer_example.yaml です。この手順では、このマニフェストを マニフェスト ディレクトリに配置したことを前提としています。

  1. Kubernetes クラスタを作成します。例の手順に従って Kubernetes クラスターを作成または他のメソッドを使用できます。以下の特性を持つクラスタを作成します。
    • クラスターにCNIプラグインはありません。
    • ノードローカルDNSを無効にします。
  2. single_cluster_deployer_example.yaml を変更して、Contrail コントロールとデータ ネットワークを構成します。

    Contrail ネットワークを指定するには、contrail-network-config ConfigMap を使用します。 single_cluster_deployer_example.yaml マニフェストには、contrail-network-config ConfigMap を構成する方法に関するコメントされた例が含まれています。

    これらの行のコメントを解除し、適切なサブネットとゲートウェイを指定するか、以下をコピーしてマニフェストに貼り付けます。

    指定したサブネットとゲートウェイは Contrail コントロールとデータ ネットワークとゲートウェイで、この例では 10.16.0.0/24 ネットワークです。
  3. Contrail 導入者マニフェストを適用します。

    ノードとポッドが立ち上がるまでに数分かかる場合があります。

  4. 展開を確認するには、標準的な kubectl コマンドを使用します。
    1. ノードのステータスを表示します。
      ノードが立ち上がっていることがわかります。ノードが稼働していない場合は、数分間待ってから、もう一度確認してください。
    2. ポッドのステータスを表示します。

      すべてのポッドのステータスが [実行中] になりましょう。そうでない場合は、ポッドが立ち上がるまで数分待ちます。

    3. 一部のポッドがダウンしている場合は、通常通り導入をデバッグします。コマンドをkubectl describe使用して、ポッドが立ち上がらない理由を確認します。ノードがジュニパーネットワークスリポジトリに到達できなくなるネットワークまたはファイアウォールの問題があります。

      これがDNSの問題の例です。

      問題が発生している各ノードにログインし、 enterprise-hub.juniper.net の名前解決を確認します。例えば:

      メモ:

      enterprise-hub.juniper.net は ping に応答するように設定されていませんが、ping コマンドを使用してドメイン名の解決を確認できます。

      この例では、ドメイン名は解決されていません。ドメイン名サーバーの構成が正しいことを確認します。

      たとえば、Ubuntuシステムが実行されている systemd resolved場合は、ネットワークに対してDNSエントリが正しいことを確認 /etc/systemd/resolved.conf します。設定を更新した後、DNSサービスを再起動します。

    4. 解決できない問題が発生した場合、またはインストール中に間違いを犯した場合は、Contrailをアンインストールして最初からやり直してください。Contrail をアンインストールするには、「 Contrail のアンインストール」を参照してください。
  5. (オプション)ポストフライトチェックを実行します。「プレフライト チェックとポストフライト チェックの実行」を参照してください

リリース 22.2 で DPDK データ プレーンを実行している単一クラスタ マルチネットワーク Contrail をインストールする

リリース 22.2 で DPDK データ プレーンを実行している単一クラスタのマルチネットワーク導入環境に Contrail をインストールするには、次の手順を実行します。

この例の手順で使用するマニフェストは 、シングルクラスター/single_cluster_deployer_example.yaml です。この手順では、このマニフェストを マニフェスト ディレクトリに配置したことを前提としています。

  1. Kubernetes クラスタを作成します。例の手順に従って Kubernetes クラスターを作成または他のメソッドを使用できます。以下の特性を持つクラスタを作成します。
    • クラスターにCNIプラグインはありません。
    • ノードローカルDNSを無効にします。
    • multus バージョン 0.3.1 を有効にします。
  2. single_cluster_deployer_example.yaml を変更して、Contrail コントロールとデータ ネットワークを構成します。

    Contrail ネットワークを指定するには、contrail-network-config ConfigMap を使用します。 single_cluster_deployer_example.yaml マニフェストには、contrail-network-config ConfigMap を構成する方法に関するコメントされた例が含まれています。

    これらの行のコメントを解除し、適切なサブネットとゲートウェイを指定するか、以下をコピーしてマニフェストに貼り付けます。

    指定したサブネットとゲートウェイは Contrail コントロールとデータ ネットワークとゲートウェイで、この例では 10.16.0.0/24 ネットワークです。
  3. DPDK ノードを指定します。
    DPDK を実行している各ノードについて、次のようにラベル付けします 。この方法でノードにラベルを付けることで、Contrail はマニフェストで指定された DPDK 構成を使用します。
  4. Contrail 導入者マニフェストを適用します。

    ノードとポッドが立ち上がるまでに数分かかる場合があります。

  5. 展開を確認するには、標準的な kubectl コマンドを使用します。
    1. ノードのステータスを表示します。
      ノードが立ち上がっていることがわかります。ノードが稼働していない場合は、数分間待ってから、もう一度確認してください。
    2. ポッドのステータスを表示します。

      すべてのポッドのステータスが [実行中] になりましょう。そうでない場合は、ポッドが立ち上がるまで数分待ちます。

    3. 一部のポッドがダウンしている場合は、通常通り導入をデバッグします。コマンドをkubectl describe使用して、ポッドが立ち上がらない理由を確認します。ノードがジュニパーネットワークスリポジトリに到達できなくなるネットワークまたはファイアウォールの問題があります。

      これがDNSの問題の例です。

      問題が発生している各ノードにログインし、 enterprise-hub.juniper.net の名前解決を確認します。例えば:

      メモ:

      enterprise-hub.juniper.net は ping に応答するように設定されていませんが、ping コマンドを使用してドメイン名の解決を確認できます。

      この例では、ドメイン名は解決されていません。ドメイン名サーバーの構成が正しいことを確認します。

      たとえば、Ubuntuシステムが実行されている systemd resolved場合は、ネットワークに対してDNSエントリが正しいことを確認 /etc/systemd/resolved.conf します。設定を更新した後、DNSサービスを再起動します。

    4. 解決できない問題が発生した場合、またはインストール中に間違いを犯した場合は、Contrailをアンインストールして最初からやり直してください。Contrail をアンインストールするには、「 Contrail のアンインストール」を参照してください。
  6. (オプション)ポストフライトチェックを実行します。「プレフライト チェックとポストフライト チェックの実行」を参照してください

リリース 22.3 以降で DPDK データ プレーンを実行している単一クラスタ マルチネットワーク Contrail をインストールする

リリース 22.3 以降で DPDK データ プレーンを実行している単一クラスタのマルチネットワーク導入環境に Contrail をインストールするには、次の手順を実行します。

この例の手順で使用するマニフェストは 、シングルクラスター/single_cluster_deployer_example.yaml です。この手順では、このマニフェストを マニフェスト ディレクトリに配置したことを前提としています。

  1. Kubernetes クラスタを作成します。例の手順に従って Kubernetes クラスターを作成または他のメソッドを使用できます。以下の特性を持つクラスタを作成します。
    • クラスターにCNIプラグインはありません。
    • ノードローカルDNSを無効にします。
    • multus バージョン 0.3.1 を有効にします。
  2. single_cluster_deployer_example.yaml を変更して、Contrail コントロールとデータ ネットワークを構成します。

    Contrail ネットワークを指定するには、contrail-network-config ConfigMap を使用します。 single_cluster_deployer_example.yaml マニフェストには、contrail-network-config ConfigMap を構成する方法に関するコメントされた例が含まれています。

    これらの行のコメントを解除し、適切なサブネットとゲートウェイを指定するか、以下をコピーしてマニフェストに貼り付けます。

    指定したサブネットとゲートウェイは Contrail コントロールとデータ ネットワークとゲートウェイで、この例では 10.16.0.0/24 ネットワークです。
  3. DPDK ノードを指定します。
    DPDK を実行している各ノードについて、次のようにラベル付けします 。この方法でノードにラベルを付けることで、Contrail はマニフェストで指定された DPDK 構成を使用します。
  4. Contrail 導入者マニフェストを適用します。

    ノードとポッドが立ち上がるまでに数分かかる場合があります。

  5. 展開を確認するには、標準的な kubectl コマンドを使用します。
    1. ノードのステータスを表示します。
      ノードが立ち上がっていることがわかります。ノードが稼働していない場合は、数分間待ってから、もう一度確認してください。
    2. ポッドのステータスを表示します。

      すべてのポッドのステータスが [実行中] になりましょう。そうでない場合は、ポッドが立ち上がるまで数分待ちます。

    3. 一部のポッドがダウンしている場合は、通常通り導入をデバッグします。コマンドをkubectl describe使用して、ポッドが立ち上がらない理由を確認します。ノードがジュニパーネットワークスリポジトリに到達できなくなるネットワークまたはファイアウォールの問題があります。

      これがDNSの問題の例です。

      問題が発生している各ノードにログインし、 enterprise-hub.juniper.net の名前解決を確認します。例えば:

      メモ:

      enterprise-hub.juniper.net は ping に応答するように設定されていませんが、ping コマンドを使用してドメイン名の解決を確認できます。

      この例では、ドメイン名は解決されていません。ドメイン名サーバーの構成が正しいことを確認します。

      たとえば、Ubuntuシステムが実行されている systemd resolved場合は、ネットワークに対してDNSエントリが正しいことを確認 /etc/systemd/resolved.conf します。設定を更新した後、DNSサービスを再起動します。

    4. 解決できない問題が発生した場合、またはインストール中に間違いを犯した場合は、Contrailをアンインストールして最初からやり直してください。Contrail をアンインストールするには、「 Contrail のアンインストール」を参照してください。
  6. (オプション)ポストフライトチェックを実行します。「プレフライト チェックとポストフライト チェックの実行」を参照してください