サービスの改善にご協力お願いします。

お客様のご意見をお聞かせください。

アンケートの所要時間はおよそ 2 分です。

external-header-nav
keyboard_arrow_up
list Table of Contents

この機械翻訳はお役に立ちましたでしょうか?

starstarstarstarstar
Go to English page
免責事項:

このページは、サードパーティー製機械翻訳ソフトウェアを使用して翻訳されます。質の高い翻訳を提供するために合理的な対応はされていますが、ジュニパーネットワークスがその正確性を保証することはできかねます。この翻訳に含まれる情報の正確性について疑問が生じた場合は、英語版を参照してください. ダウンロード可能なPDF (英語版のみ).

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

date_range 09-Jan-23

概要 KubernetesトラフィックとCN2トラフィックが同じネットワークを共有する導入環境に、単一クラスタCN2をインストールする方法の例を参照してください。

単一のクラスタでネットワークを共有する場合:

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

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

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

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

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

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

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

メモ:

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

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

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

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

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

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

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

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

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

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

  3. 展開を確認するには、標準的な kubectl コマンドを使用します。
    1. ノードのステータスを表示します。
      content_copy zoom_out_map
      kubectl get nodes
      NAME          STATUS   ROLES                  AGE   VERSION
      k8s-cp0       Ready    control-plane,master   65m   v1.20.7
      k8s-worker0   Ready    <none>                 63m   v1.20.7
      k8s-worker1   Ready    <none>                 62m   v1.20.7
      
      ノードが立ち上がっていることがわかります。ノードが稼働していない場合は、数分間待ってから、もう一度確認してください。
    2. ポッドのステータスを表示します。
      content_copy zoom_out_map
      kubectl get pods -A -o wide
      NAMESPACE         NAME                                        READY   STATUS    RESTARTS   AGE     IP            NODE          <trimmed>
      contrail-deploy   contrail-k8s-deployer-747689445-7rx52       1/1     Running   0          44m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-control-0                          2/2     Running   0          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-k8s-apiserver-6b544788f4-mpk5d     1/1     Running   0          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-k8s-controller-75b8d7b846-rvg7h    1/1     Running   2          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-k8s-kubemanager-6c8b7bd5f5-mwdpj   1/1     Running   5          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-vrouter-masters-pl4zf              3/3     Running   0          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-vrouter-nodes-2tnqq                3/3     Running   0          40m     172.16.0.12    k8s-worker0   <none>       <none>
      contrail          contrail-vrouter-nodes-66xnw                3/3     Running   0          40m     172.16.0.13    k8s-worker1   <none>       <none>
      kube-system       coredns-657959df74-25sdx                    1/1     Running   0          3m19s   10.233.64.2    k8s-cp0       <none>       <none>
      kube-system       coredns-657959df74-rprzv                    1/1     Running   0          66m     10.233.65.0    k8s-worker0   <none>       <none>
      kube-system       dns-autoscaler-b5c786945-pcgsq              1/1     Running   0          66m     10.233.65.1    k8s-worker0   <none>       <none>
      kube-system       kube-apiserver-k8s-cp0                      1/1     Running   0          69m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       kube-controller-manager-k8s-cp0             1/1     Running   0          69m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       kube-proxy-k5mcp                            1/1     Running   0          67m     172.16.0.13    k8s-worker1   <none>       <none>
      kube-system       kube-proxy-sccjm                            1/1     Running   0          67m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       kube-proxy-wqbt8                            1/1     Running   1          67m     172.16.0.12    k8s-worker0   <none>       <none>
      kube-system       kube-scheduler-k8s-cp0                      1/1     Running   0          69m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       nginx-proxy-k8s-worker0                     1/1     Running   0          67m     172.16.0.12    k8s-worker0   <none>       <none>
      kube-system       nginx-proxy-k8s-worker1                     1/1     Running   0          67m     172.16.0.13    k8s-worker1   <none>       <none>
      

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

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

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

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

      content_copy zoom_out_map
      user@node:~# ping enterprise-hub.juniper.net
      ping: enterprise-hub.juniper.net: Temporary failure in name resolution
      
      メモ:

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

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

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

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

リリース22.4でDPDKデータプレーンを実行する単一クラスタ共有ネットワークCN2をインストールする

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

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

  1. Kubernetes クラスタを作成します。例の手順に従って Kubernetes クラスターを作成または他のメソッドを使用できます。以下の特性を持つクラスタを作成します。
    • クラスターにCNIプラグインはありません。
    • ノードローカルDNSを無効にします。
    • multus バージョン 0.3.1 を有効にします。
  2. DPDK ノードを指定します。
    DPDK を実行しているノードごとに、次のようにラベル付けします
    content_copy zoom_out_map
    kubectl label node <node-name> agent-mode=dpdk
    。この方法でノードにラベルを付けることで、CN2 はマニフェストで指定された DPDK 構成を使用します。
  3. Contrail 導入者マニフェストを適用します。
    content_copy zoom_out_map
    kubectl apply -f manifests/single_cluster_deployer_example.yaml

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

  4. 展開を確認するには、標準的な kubectl コマンドを使用します。
    1. ノードのステータスを表示します。
      content_copy zoom_out_map
      kubectl get nodes
      NAME          STATUS   ROLES                  AGE   VERSION
      k8s-cp0       Ready    control-plane,master   65m   v1.20.7
      k8s-worker0   Ready    <none>                 63m   v1.20.7
      k8s-worker1   Ready    <none>                 62m   v1.20.7
      
      ノードが立ち上がっていることがわかります。ノードが稼働していない場合は、数分間待ってから、もう一度確認してください。
    2. ポッドのステータスを表示します。
      content_copy zoom_out_map
      kubectl get pods -A -o wide
      NAMESPACE         NAME                                        READY   STATUS    RESTARTS   AGE     IP            NODE          <trimmed>
      contrail-deploy   contrail-k8s-deployer-747689445-7rx52       1/1     Running   0          44m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-control-0                          2/2     Running   0          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-k8s-apiserver-6b544788f4-mpk5d     1/1     Running   0          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-k8s-controller-75b8d7b846-rvg7h    1/1     Running   2          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-k8s-kubemanager-6c8b7bd5f5-mwdpj   1/1     Running   5          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-vrouter-masters-pl4zf              3/3     Running   0          40m     172.16.0.11    k8s-cp0       <none>       <none>
      contrail          contrail-vrouter-nodes-2tnqq                3/3     Running   0          40m     172.16.0.12    k8s-worker0   <none>       <none>
      contrail          contrail-vrouter-nodes-66xnw                3/3     Running   0          40m     172.16.0.13    k8s-worker1   <none>       <none>
      kube-system       coredns-657959df74-25sdx                    1/1     Running   0          3m19s   10.233.64.2    k8s-cp0       <none>       <none>
      kube-system       coredns-657959df74-rprzv                    1/1     Running   0          66m     10.233.65.0    k8s-worker0   <none>       <none>
      kube-system       dns-autoscaler-b5c786945-pcgsq              1/1     Running   0          66m     10.233.65.1    k8s-worker0   <none>       <none>
      kube-system       kube-apiserver-k8s-cp0                      1/1     Running   0          69m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       kube-controller-manager-k8s-cp0             1/1     Running   0          69m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       kube-proxy-k5mcp                            1/1     Running   0          67m     172.16.0.13    k8s-worker1   <none>       <none>
      kube-system       kube-proxy-sccjm                            1/1     Running   0          67m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       kube-proxy-wqbt8                            1/1     Running   1          67m     172.16.0.12    k8s-worker0   <none>       <none>
      kube-system       kube-scheduler-k8s-cp0                      1/1     Running   0          69m     172.16.0.11    k8s-cp0       <none>       <none>
      kube-system       nginx-proxy-k8s-worker0                     1/1     Running   0          67m     172.16.0.12    k8s-worker0   <none>       <none>
      kube-system       nginx-proxy-k8s-worker1                     1/1     Running   0          67m     172.16.0.13    k8s-worker1   <none>       <none>
      

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

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

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

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

      content_copy zoom_out_map
      user@node:~# ping enterprise-hub.juniper.net
      ping: enterprise-hub.juniper.net: Temporary failure in name resolution
      
      メモ:

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

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

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

      content_copy zoom_out_map
      user@node:~# systemctl restart systemd-resolved
    4. 解決できない問題が発生した場合、またはインストール中に間違いを犯した場合は、CN2をアンインストールして最初からやり直してください。CN2をアンインストールするには、 CN2のアンインストールを参照してください。
  5. (オプション)ポストフライトチェックを実行します。「プレフライト チェックとポストフライト チェックの実行」を参照してください
external-footer-nav