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

最終公開日 : Oct 02, 2026

ソフトウェア要件

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

始める前に

以下のシナリオを使用してサービスグラフを表示できます:
  • NetScaler ADMとKubernetesクラスターが同じネットワーク上にある場合(例:Citrix Hypervisor™でホストされているNetScaler ADMとKubernetesクラスター)。
  • NetScaler ADMとKubernetesクラスターが異なるネットワーク上にある場合。このシナリオでは、(/ja-jp/netscaler-application-delivery-management-software/13-1/deploy/multisite-deployment.html)を構成し、Kubernetesクラスターがホストされているネットワークにエージェントを登録する必要があります。
NetScaler® ADMでサービスグラフを使用するには、以下を確認してください:
  • NetScaler CPXをプロキシとするKubernetesクラスター。詳細については、NetScaler Ingress Controllerを参照してください。
  • NetScaler ADMとNetScaler CPX間の通信を有効にするために、NetScaler ADMで(#configure-static-routes-in-citrix-adm)を構成済みであること
  • (#download-the-sample-deployment-files-from-github)からサンプル展開ファイルをダウンロード済みであること。
  • NetScaler ADMへのCPXの登録を成功させるために、(#add-parameters-in-cpx-yaml-file)に必要なパラメーターを追加済みであること。
  • NetScaler ADMに(#add-kubernetes-cluster-in-citrix-adm)を追加済みであること。
  • (#deploy-a-sample-microservice-application)を展開済みであること。
  • (#deploy-cpx-and-register-cpx-in-adm)を展開し、CPXをADMに登録済みであること。
  • 仮想サーバーをライセンスするために、仮想サーバーの自動選択を有効にしていること。
  • NetScalerエージェントがHTTPトランザクションを取得できるように、Webトランザクション設定をすべてに変更していること。
  • NetScalerエージェントがTCPメトリックを取得できるように、Istream.confファイルを更新し、TCP設定をAllに変更しました。

ソフトウェア要件

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

始める前に

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

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

Kubernetes クラスター内では、すべてのコンテナ化されたポッドがオーバーレイネットワークを使用します。これらのプライベート IP アドレスを使用して直接通信を確立することはできません。NetScaler ADM から Kubernetes クラスターへの通信を有効にするには、NetScaler ADM で静的ルーティングを構成する必要があります。
注
オンプレミスエージェントを使用している場合は、エージェントで静的ルートを構成してください。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 ADM にログオンします
  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 を使用して構成を確認します
    静的ルーティング
  4. これらのルートコマンドを /mpsconfig/svm.conf ファイルに追記します。
    1. NetScaler ADM で、次のコマンドを使用して svm.conf ファイルにアクセスします。
      vim /mpsconfig/svm.conf
    2. svm.conf ファイルに静的ルートを追加します。
      例えば、route add -net 192.168.0.0/24 101.xx.xx.112。

GitHub からサンプル展開ファイルをダウンロードする

  1. マスターノードで GitHub リポジトリをクローンするには、コマンド 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以降を使用している場合は、ADMエージェントに登録する際にnsroot以外のパスワードを使用する必要があります。セキュリティを確保するため、NetScalerエージェント61.x以降のリリースではパスワードの変更が必須です。NetScalerエージェントが61.x以降のバージョンにアップグレードされている場合は、CPX 58.x以降のビルドを使用していることを確認する必要があります。
NetScaler ADMへの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 ADMのIPアドレスを示します
    注
    ADMエージェントが使用されている場合、これはオンプレミスエージェントのIPアドレスを示します。
  • NS_MGMT_FINGER_PRINT – NetScaler ADMにおけるCPXの認証を示します。フィンガープリントを取得するには:
    1. NetScaler ADMで、Settings > Administrationに移動します。
    2. System Configurationsの下で、View ADM Fingerprintをクリックします。
      フィンガープリント
      注:
      オンプレミスエージェントを設定している場合は、Infrastructure > Instances > Agentsに移動し、エージェントを選択して、View Fingerprintをクリックします。
      フィンガープリントエージェント
  • NS_HTTP_PORT – 通信用のHTTPポートを示します
  • NS_HTTPS_PORT – 通信用のHTTPSポートを示します
  • NS_MGMT_USER - ユーザー名を示します
  • NS_MGMT_PASS - パスワードを示します。任意のパスワードを指定してください
  • LOGSTREAM_COLLECTOR_IP – CPXからADMにログデータを転送するためにLogstreamプロトコルを有効にする必要があるNetScalerエージェントのIPアドレスを示します

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

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

NetScaler ADMにKubernetesクラスターを追加する

Kubernetesクラスターを追加するには:
  1. 管理者資格情報を使用してNetScaler ADMにログオンします。
  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 ADM間の通信のアクセスを検証するために必要です。認証トークンを生成するには、次の手順を実行します。
      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>を実行します。
        トークンを生成(/en-us/netscaler-application-delivery-management-software/media/sg-generate-token.png)
    4. リストからエージェントを選択します。
      注
      オンプレミスエージェントを使用している場合は、CPX YAMLに追加したのと同じエージェントを選択してください。
    5. 作成をクリックします。
      クラスターを追加(/en-us/netscaler-application-delivery-management-software/media/add-cluster.png)

サンプルマイクロサービスアプリケーションの展開

マスターノードで:
  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を展開し、ADMにCPXを登録する

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

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

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

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

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

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

次に、NetScaler ADMでサービスグラフを生成するために、マイクロサービスにトラフィックを送信する必要があります。
  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を使用してマイクロサービスにアクセスできます。