デュアルティアまたはサービスメッシュライトトポロジを設定するための詳細な手順

最終公開日 : Sep 25, 2026
Related information

ソフトウェア要件

Kubernetesディストリビューション Kubernetesバージョン コンテナネットワークインターフェース (CNI) CPXバージョン CICバージョン NetScaler Consoleバージョン NetScalerエージェントバージョン
オープンソース v1.16.3 フラネル 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

始める前に

以下のシナリオを使用して、サービスグラフを表示できます。
  • NetScaler ConsoleとKubernetesクラスターが同じネットワーク上にある場合(例:Citrix HypervisorでホストされているNetScaler ConsoleとKubernetesクラスター)。
  • NetScaler ConsoleとKubernetesクラスターが異なるネットワーク上にある場合。このシナリオでは、オンプレミスエージェントを設定し、Kubernetesクラスターがホストされているネットワークにエージェントを登録する必要があります。
NetScaler Consoleでサービスグラフを使用するには、以下を確認してください。

ソフトウェア要件

Kubernetesディストリビューション Kubernetesバージョン コンテナネットワークインターフェース (CNI) CPXバージョン CICバージョン NetScaler Consoleバージョン NetScalerエージェントバージョン
オープンソース v1.16.3 フラネル 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

始める前に

以下のシナリオを使用してサービスグラフを表示できます。
  • NetScaler ConsoleとKubernetesクラスターが同じネットワーク上にある場合(例:NetScaler ConsoleとKubernetesクラスターがCitrix Hypervisorでホストされている場合)。
  • NetScaler ConsoleとKubernetesクラスターが異なるネットワーク上にある場合。このシナリオでは、オンプレミスエージェントを構成し、Kubernetesクラスターがホストされているネットワークにエージェントを登録する必要があります。
NetScaler Consoleでサービスグラフを使用するには、以下を確認してください。

NetScaler Console で静的ルートを構成する

Kubernetes クラスター内では、すべてのコンテナ化されたポッドがオーバーレイネットワークを使用します。これらのプライベート IP アドレスを使用して直接通信を確立することはできません。NetScaler Console から Kubernetes クラスターへの通信を有効にするには、NetScaler Console で静的ルーティングを構成する必要があります。
注
オンプレミスエージェントを使用している場合は、エージェントで静的ルートを構成してください。SSH クライアントを使用して NetScaler エージェントにログオンし、静的ルートを構成します。
Kubernetes クラスターに次の IP アドレスがあるとします。
  • Kubernetes マスター – 101.xx.xx.112
  • Kubernetes ワーカー 1 – 101.xx.xx.111
  • Kubernetes ワーカー 2 – 101.xx.xx.110
Kubernetes マスターで、次のコマンドを実行してポッドネットワークを特定し、静的ルーティングを行います。
kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"
コマンドを実行した後の出力例を次に示します。
例のコマンド
  1. SSH クライアントを使用して、NetScaler Console にログオンします
  2. コマンド route add -net <public IP address range> <Kubernetes IP address> を使用して静的ルーティングを構成します
    例:
    route add -net 192.168.0.0/24 101.xx.xx.112
    route add -net 192.168.1.0/24 101.xx.xx.111
    route add -net 192.168.2.0/24 101.xx.xx.110
  3. netstat -rnを使用して設定を確認します。
    静的ルーティングの図(/en-us/netscaler-application-delivery-management-software/media/static-routing.png)
  4. これらのルートコマンドを/mpsconfig/svm.confファイルに追加します。
    1. NetScaler Consoleで、次のコマンドを使用してsvm.confファイルにアクセスします。
      vim /mpsconfig/svm.conf
    2. svm.confファイルに静的ルートを追加します。
      例えば、route add -net 192.168.0.0/24 101.xx.xx.112。

GitHubからサンプルデプロイメントファイルをダウンロードする

  1. マスターノードでgit hubリポジトリをクローンするには、コマンド**git clone https://github.com/citrix/citrix-k8s-ingress-controller.git**を使用します。
  2. YAMLにアクセスするには:
    cd citrix-k8s-ingress-controller/example/servicegraph-demo/

CPX YAMLファイルにパラメータを追加する

注
CPX 58.x以降を使用している場合、エージェントに登録する際に非nsrootパスワードを使用する必要があります。セキュリティを確保するため、NetScalerエージェント61.x以降のリリースではパスワードの変更が必須です。NetScalerエージェントが61.x以降のバージョンにアップグレードされている場合、CPX 58.x以降のビルドを使用していることを確認する必要があります。
NetScaler ConsoleへのCPX登録を確実にするために、cpx.yamlファイルに以下のパラメータを含める必要があります。
- name: "NS_MGMT_SERVER"
  value: "xx.xx.xx.xx"
- name: "NS_MGMT_FINGER_PRINT"
  value: "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
- name: "NS_HTTP_PORT"
  value: "9080"
- name: "NS_HTTPS_PORT"
  value: 9443"
- name: "NS_MGMT_USER"
  value: "nsroot"
- name: "NS_MGMT_PASS"
  value: <your password>
- name: "LOGSTREAM_COLLECTOR_IP"
  value: "xx.xx.xx.xx"
  • NS_MGMT_SERVER – NetScaler ConsoleのIPアドレスを示します
    注
    エージェントが使用されている場合、これはエージェントのIPアドレスを示します。
  • NS_MGMT_FINGER_PRINT – NetScaler ConsoleにおけるCPXの認証を示します。フィンガープリントを取得するには:
    1. NetScaler Consoleで、設定 > 管理に移動します。
    2. システム構成の下で、ADMフィンガープリントの表示をクリックします。
      フィンガープリント
      注:
      オンプレミスエージェントを設定している場合は、インフラストラクチャ > インスタンス > エージェントに移動し、エージェントを選択して、フィンガープリントの表示をクリックします。
      フィンガープリントエージェント
  • NS_HTTP_PORT – 通信用のHTTPポートを示します
  • NS_HTTPS_PORT – 通信用のHTTPSポートを示します
  • NS_MGMT_USER - ユーザー名を示します
  • NS_MGMT_PASS - パスワードを示します。任意のパスワードを指定してください
  • LOGSTREAM_COLLECTOR_IP – NetScalerエージェントのIPアドレスを示します。CPXからNetScaler Consoleにログデータを転送するには、Logstreamプロトコルを有効にする必要があります

NetScaler ConsoleでVPX、SDX、MPX、またはBLXインスタンスを追加する

サービスグラフでティア1のNetScalerインスタンス分析を取得するには、NetScaler ConsoleにVPX/SDX/MPX/BLXインスタンスを追加し、Web Insightを有効にする必要があります。
  1. Infrastructure > Instances > NetScalerに移動します
  2. インスタンスを追加するには、追加オプションをクリックします。詳細については、「NetScaler Consoleでのインスタンスの追加」を参照してください。
  3. インスタンスを追加した後、仮想サーバーを選択し、Web Insightを有効にします。詳細については、「ライセンスの管理と仮想サーバーでの分析の有効化」を参照してください。

NetScaler ConsoleでKubernetesクラスターを追加する

Kubernetesクラスターを追加するには:
  1. 管理者資格情報を使用してNetScaler Consoleにログオンします。
  2. Orchestration > Kubernetes > Clusterに移動します。 クラスターページが表示されます。
  3. 追加をクリックします。
  4. クラスターの追加ページで、次のパラメーターを指定します。
    1. 名前 - 任意の名前を指定します。
    2. APIサーバーURL - KubernetesマスターノードからAPIサーバーURLの詳細を取得できます。
      1. Kubernetesマスターノードで、コマンドkubectl cluster-infoを実行します。
        APIサーバーURL
      2. “Kubernetes master is running at.” と表示されるURLを入力します。
    3. 認証トークン - 認証トークンを指定します。認証トークンは、KubernetesクラスターとNetScaler Console間の通信のアクセスを検証するために必要です。認証トークンを生成するには、次の手順を実行します。
      Kubernetesマスターノードで、次の手順を実行します。
      1. 次のYAMLを使用してサービスアカウントを作成します。
        apiVersion: v1
        kind: ServiceAccount
        metadata:
          name: <name>
          namespace: <namespace>
      2. kubectl create -f <yaml file>を実行します。
        サービスアカウントが作成されます。
      3. クラスターロールをサービスアカウントにバインドするには、kubectl create clusterrolebinding <name> --clusterrole=cluster-admin --serviceaccount=<namespace>:<name>を実行します。
        サービスアカウントは、クラスター全体のアクセス権を持つようになりました。
        サービスアカウントの作成中にトークンが自動的に生成されます。
      4. トークンを表示するには、kubectl describe sa <name>を実行します。
      5. シークレット文字列を取得するには、kubectl describe secret <token-name>を実行します。
        トークンを生成
    4. リストからエージェントを選択します。
      注
      オンプレミスエージェントを使用している場合は、CPX YAMLに追加したエージェントと同じエージェントを選択していることを確認してください。
    5. 作成をクリックします。
      クラスターを追加

サンプルマイクロサービスアプリケーションをデプロイする

マスターノードで:
  1. 名前空間を作成するには、kubectl create -f namespace.yamlを実行します。
  2. 次のコマンドを使用して、hotdrinkマイクロサービス、イングレス、およびシークレットをデプロイします。
    kubectl create -f team_hotdrink.yaml -n sg-demo
    kubectl create -f hotdrink-secret.yaml -n sg-demo

CPXをデプロイし、NetScaler ConsoleにCPXを登録する

  1. クラスターロールとクラスターバインディングをデプロイするには、kubectl create -f rbac.yamlを実行します。
  2. CPXをデプロイするには、kubectl create -f cpx.yaml -n sg-demoを実行します。
展開後、CPX登録は自動的に行われます。

ライセンス供与のために仮想サーバーの自動選択を有効にする

注
十分な仮想サーバーライセンスがあることを確認してください。詳細については、「ライセンス供与」を参照してください。
NetScaler ConsoleにKubernetesクラスターを追加した後、ライセンス供与のために仮想サーバーを自動選択するようにしてください。Service Graphにデータを表示するには、仮想サーバーがライセンスされている必要があります。仮想サーバーを自動選択するには:
  1. 設定 > ライセンスと分析の設定に移動します。
  2. 仮想サーバーライセンスの概要で、仮想サーバーの自動選択とアドレス指定不可能な仮想サーバーの自動選択を有効にします。
    仮想サーバーの自動選択

WebトランザクションとTCPトランザクションの設定を有効にする

Kubernetesクラスターを追加し、仮想サーバーの自動選択を有効にした後、Webトランザクション設定とTCPトランザクション設定をすべてに変更します。
  1. 設定 > 分析設定に移動します。
    分析設定ページが表示されます。
  2. 分析機能の有効化をクリックします。
  3. Webトランザクション設定で、すべてを選択します。
  4. TCPトランザクション設定で、すべてを選択します。
    TCP(/en-us/netscaler-application-delivery-management-software/media/tcp-setting.png)
  5. 「OK」をクリックします。

マイクロサービスにトラフィックを送信する

次に、NetScaler Consoleでサービスグラフを生成するために、マイクロサービスにトラフィックを送信する必要があります。
  1. NodePortを介してCPXを公開するために、kubectl get svc -n sg-demoを実行します。
    NodePort(/en-us/netscaler-application-delivery-management-software/media/sg-nodeport.png)
  2. etc/hostファイルを編集し、hotdrink.beverages.comのドメインIPエントリを作成します。
    これで、https://hotdrink.beverages.comを使用してマイクロサービスにアクセスできます。