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 データ プレーン コンポーネントはクラスタ内のすべてのノードで実行されます。

  • Kubernetes と Contrail のトラフィックは単一のネットワークを共有します。

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

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

図 1:単一クラスタの共有ネットワーク Contrail Single Cluster Shared Network Contrail

クラスタ内のノード間、およびノードと外部サイト間のすべての通信は、単一の 172.16.0.0/24 ファブリック仮想ネットワークを介して行われます。ファブリックネットワークは、クラスターが実行されるアンダーレイを提供します。

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

メモ:

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

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

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

表 1:単一クラスタの共有ネットワークの例
カーネル モード データ プレーン DPDK データ プレーンの リリース
22.2 リリース 22.2 でカーネル モード データ プレーンを実行している単一クラスタ共有ネットワーク Contrail をインストールする リリース 22.2 で DPDK データ プレーンを実行している単一クラスタ共有ネットワーク Contrail をインストールする
メモ:

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

リリース 22.2 でカーネル モード データ プレーンを実行している単一クラスタ共有ネットワーク Contrail をインストールする

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

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

  1. Kubernetes クラスタを作成します。例の手順に従って Kubernetes クラスターを作成または他のメソッドを使用できます。以下の特性を持つクラスタを作成します。
    • クラスターにCNIプラグインはありません。
    • ノードローカルDNSを無効にします。
  2. Contrail 導入者マニフェストを適用します。

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

  3. 展開を確認するには、標準的な 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 のアンインストール」を参照してください。
  4. (オプション)ポストフライトチェックを実行します。「プレフライト チェックとポストフライト チェックの実行」を参照してください

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

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

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

  1. Kubernetes クラスタを作成します。例の手順に従って Kubernetes クラスターを作成または他のメソッドを使用できます。以下の特性を持つクラスタを作成します。
    • クラスターにCNIプラグインはありません。
    • ノードローカルDNSを無効にします。
    • multus バージョン 0.3.1 を有効にします。
  2. DPDK ノードを指定します。
    DPDK を実行しているノードごとに、次のようにラベル付けします 。この方法でノードにラベルを付けることで、Contrail はマニフェストで指定された DPDK 構成を使用します。
  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. (オプション)ポストフライトチェックを実行します。「プレフライト チェックとポストフライト チェックの実行」を参照してください