Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

概要 Kubernetes トラフィックと CN2 トラフィックが別々のネットワークを経由する導入環境に、単一クラスタ CN2 をインストールする方法の例をご覧ください。

単一クラスターのマルチネットワーク展開では、次のようになります。

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

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

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

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

図 1:単一クラスタ マルチネットワーク CN2 Single Cluster Multi-Network CN2

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

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

手記:

すべてのクラスタノードを接続しているのがデータセンターファブリックであり、この例では2つのサブネットとして示されています。実際のインストールでは、データセンターファブリックは、クラスタに物理的な接続を提供するスパインスイッチとリーフスイッチのネットワークです。

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

このセクションの手順では、提供されたマニフェストを使用して、指定されたCN2デプロイメントを作成する方法の基本的な例を示します。このセクションで説明するデプロイに限定されることはなく、提供されるマニフェストの使用も制限されません。CN2は、多すぎて詳細に説明できない幅広い導入をサポートしています。提供されている例を出発点として使用して、特定の状況に合わせて独自のマニフェストを展開します。

カーネルモードデータプレーンを実行する単一クラスタマルチネットワークCN2のインストール

この手順を使用して、カーネルモードデータプレーンを実行する単一クラスター、マルチネットワーク導入にCN2をインストールします。

この手順例で使用するマニフェストは single-cluster/single_cluster_deployer_example.yaml です。この手順では、このマニフェストを manifests ディレクトリに配置していることを前提としています。

  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 Deployer マニフェストを適用します。

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

  4. 標準の kubectl コマンドを使用して、デプロイを確認します。
    1. ノードのステータスを表示します。
      ノードが立ち上がっているのがわかります。ノードが起動していない場合は、数分待ってからもう一度確認します。
    2. ポッドのステータスを表示します。

      これで、すべてのポッドの STATUS が Running になります。そうでない場合は、ポッドが表示されるまで数分待ちます。

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

      次に、DNS の問題の例を示します。

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

      手記:

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

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

      たとえば、systemd resolved を実行している Ubuntu システムでは、「インストールする前に」の手順 5 で説明されているように、/etc/resolv.conf/run/systemd/resolve/resolv.conf にリンクされていることを確認し、そのファイルに DNS サーバーが正しくリストされていることを確認します。

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

DPDKデータプレーンを実行する単一クラスタマルチネットワークCN2のインストール

DPDKデータプレーンを実行する単一クラスタマルチネットワーク導入にCN2をインストールするには、この手順を使用します。

この手順例で使用するマニフェストは single-cluster/single_cluster_deployer_example.yaml です。この手順では、このマニフェストを manifests ディレクトリに配置していることを前提としています。

  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を実行している各ノードについて、次のようにラベル付けします。 このようにノードにラベルを付けることで、CN2はマニフェストで指定されたDPDK設定を使用します。
  4. Contrail Deployer マニフェストを適用します。

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

  5. 標準の kubectl コマンドを使用して、デプロイを確認します。
    1. ノードのステータスを表示します。
      ノードが立ち上がっているのがわかります。ノードが起動していない場合は、数分待ってからもう一度確認します。
    2. ポッドのステータスを表示します。

      これで、すべてのポッドの STATUS が Running になります。そうでない場合は、ポッドが表示されるまで数分待ちます。

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

      次に、DNS の問題の例を示します。

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

      手記:

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

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

      たとえば、systemd resolved を実行している Ubuntu システムでは、「インストールする前に」の手順 5 で説明されているように、/etc/resolv.conf/run/systemd/resolve/resolv.conf にリンクされていることを確認し、そのファイルに DNS サーバーが正しくリストされていることを確認します。

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