デュアルティアまたはサービスメッシュライトトポロジ設定の詳細手順
ソフトウェア要件
| Kubernetesディストリビューション | Kubernetesバージョン | コンテナネットワークインターフェース (CNI) | CPXバージョン | CICバージョン | NetScaler Consoleバージョン | NetScaler Agentバージョン |
|---|---|---|---|---|---|---|
| オープンソース | v1.16.3 | Flannel | 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 CPXをプロキシとするKubernetesクラスター。詳細については、NetScaler Ingress Controllerを参照してください。
-
NetScaler ConsoleとNetScaler CPX間の通信を有効にするために、NetScaler Consoleで静的ルートを設定済みであること。
-
GitHubリポジトリからサンプルデプロイファイルがダウンロード済みであること。
-
NetScaler ConsoleへのCPXの登録を成功させるために、CPX YAMLファイルに必要なパラメーターが追加済みであること。
-
NetScaler ConsoleにKubernetesクラスターが追加済みであること。
-
サンプルマイクロサービスアプリケーションがデプロイ済みであること。
-
仮想サーバーのライセンスを付与するために、仮想サーバーの自動選択が有効になっていること。
-
NetScaler AgentがHTTPトランザクションを取得するために、Webトランザクション設定がすべてに変更されていること。
-
NetScaler AgentがTCPメトリックを取得するために、Istream.confファイルが更新され、TCP設定がすべてに変更されていること。
ソフトウェア要件
| Kubernetesディストリビューション | Kubernetesバージョン | コンテナネットワークインターフェース (CNI) | CPXバージョン | CICバージョン | NetScaler Consoleバージョン | NetScaler Agentバージョン |
|---|---|---|---|---|---|---|
| オープンソース | v1.16.3 | Flannel | 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 CPXをプロキシとするKubernetesクラスター。詳細については、NetScaler Ingress Controllerを参照してください。
-
NetScaler ConsoleとNetScaler CPX間の通信を有効にするために、NetScaler Consoleで静的ルートを設定済みであること。
-
GitHubリポジトリからサンプルデプロイファイルがダウンロード済みであること。
-
NetScaler ConsoleへのCPXの登録を成功させるために、CPX YAMLファイルに必要なパラメーターが追加済みであること。
-
NetScaler ConsoleにKubernetesクラスターが追加済みであること。
-
サンプルマイクロサービスアプリケーションがデプロイ済みであること。
-
仮想サーバーのライセンスを付与するために、仮想サーバーの自動選択が有効になっていること。
-
NetScaler AgentがHTTPトランザクションを取得するために、Webトランザクション設定がすべてに変更されていること。
-
NetScaler AgentがTCPメトリックを取得するために、Istream.confファイルが更新され、TCP設定がすべてに変更されていること。
NetScaler Consoleでの静的ルートの設定
Kubernetesクラスター内では、すべてのコンテナ化されたPodがオーバーレイネットワークを使用します。これらのプライベートIPアドレスを使用して直接通信を確立することはできません。NetScaler ConsoleからKubernetesクラスターへの通信を有効にするには、NetScaler Consoleで静的ルーティングを設定する必要があります。
注
オンプレミスエージェントを使用している場合は、エージェントで静的ルートを設定してください。SSHクライアントを使用してNetScaler Agentにログオンし、静的ルートを設定します。
Kubernetesクラスターに次のIPアドレスがあるとします。
-
Kubernetesマスター – 101.xx.xx.112
-
Kubernetesワーカー 1 – 101.xx.xx.111
-
Kubernetesワーカー 2 – 101.xx.xx.110
Kubernetesマスターで、静的ルーティングを行うためのPodネットワークを識別するには、次のコマンドを実行します。
kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"
コマンド実行後の出力例を次に示します。

-
SSHクライアントを使用してNetScaler Consoleにログオンします。
-
route add -net <public IP address range> <Kubernetes IP address>コマンドを使用して静的ルーティングを設定します。例:
route add -net 192.168.0.0/24 101.xx.xx.112route add -net 192.168.1.0/24 101.xx.xx.111route add -net 192.168.2.0/24 101.xx.xx.110 -
netstat -rnを使用して設定を確認します。

-
これらのルートコマンドを
/mpsconfig/svm.confファイルに追加します。-
NetScaler Consoleで、次のコマンドを使用してsvm.confファイルにアクセスします。
vim /mpsconfig/svm.conf -
svm.confファイルに静的ルートを追加します。
例:
route add -net 192.168.0.0/24 101.xx.xx.112
-
GitHubからのサンプルデプロイファイルのダウンロード
-
git clone
https://github.com/citrix/citrix-k8s-ingress-controller.gitコマンドを使用して、マスターノードにGitHubリポジトリをクローンします。 -
YAMLにアクセスするには:
cd citrix-k8s-ingress-controller/example/servicegraph-demo/
CPX YAMLファイルへのパラメーターの追加
注
CPX 58.x以降を使用している場合、エージェントに登録する際はnsroot以外のパスワードを使用する必要があります。セキュリティを確保するため、NetScaler Agent 61.x以降のリリースではパスワードの変更が必須です。NetScaler Agentが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"
<!--NeedCopy-->
-
NS_MGMT_SERVER – NetScaler ConsoleのIPアドレスを示します。
注
エージェントが使用されている場合、これはエージェントのIPアドレスを示します。
-
NS_MGMT_FINGER_PRINT – NetScaler ConsoleでのCPXの認証を示します。フィンガープリントを取得するには:
-
NetScaler Consoleで、Settings > Administrationに移動します。
-
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からNetScaler Consoleへのログデータ転送のためにLogstreamプロトコルを有効にする必要があるNetScaler AgentのIPアドレスを示します。
NetScaler ConsoleでのVPX、SDX、MPX、またはBLXインスタンスの追加
サービスグラフでティア1 NetScalerインスタンスの分析を取得するには、NetScaler ConsoleにVPX/SDX/MPX/BLXインスタンスを追加し、Web Insightを有効にする必要があります。
-
Infrastructure > Instances > NetScalerに移動します。
-
Addオプションをクリックしてインスタンスを追加します。詳細については、NetScaler Consoleでのインスタンスの追加を参照してください。
-
インスタンスを追加した後、仮想サーバーを選択し、Web Insightを有効にします。詳細については、仮想サーバーでのライセンス管理と分析の有効化を参照してください。
NetScaler ConsoleでのKubernetesクラスターの追加
Kubernetesクラスターを追加するには:
-
管理者資格情報を使用してNetScaler Consoleにログオンします。
-
Orchestration > Kubernetes > Clusterに移動します。 [クラスター]ページが表示されます。
-
Addをクリックします。
-
Add Clusterページで、次のパラメーターを指定します。
-
名前 - 任意の名前を指定します。
-
APIサーバーURL - KubernetesマスターノードからAPIサーバーURLの詳細を取得できます。
-
Kubernetesマスターノードで、
kubectl cluster-infoコマンドを実行します。
-
「Kubernetes master is running at.」に表示されるURLを入力します。
-
-
認証トークン - 認証トークンを指定します。認証トークンは、KubernetesクラスターとNetScaler Console間の通信アクセスを検証するために必要です。認証トークンを生成するには:
Kubernetesマスターノードで:
-
次のYAMLを使用してサービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: <name> namespace: <namespace> <!--NeedCopy--> -
kubectl create -f <yaml file>を実行します。サービスアカウントが作成されます。
-
kubectl create clusterrolebinding <name> --clusterrole=cluster-admin --serviceaccount=<namespace>:<name>を実行して、クラスターロールをサービスアカウントにバインドします。サービスアカウントはクラスター全体のアクセス権を持つようになります。
-
サービスアカウントの作成中にトークンが自動的に生成されます。
-
kubectl describe sa <name>を実行してトークンを表示します。 -
シークレット文字列を取得するには、
kubectl describe secret <token-name>を実行します。
-
-
リストからエージェントを選択します。
注
オンプレミスエージェントを使用している場合は、CPX YAMLに追加したのと同じエージェントを選択してください。
-
Createをクリックします。

-
サンプルマイクロサービスアプリケーションのデプロイ
マスターノードで:
-
kubectl create -f namespace.yamlを実行して名前空間を作成します。 -
次のコマンドを使用して、
hotdrinkマイクロサービス、イングレス、およびシークレットをデプロイします。kubectl create -f team_hotdrink.yaml -n sg-demokubectl create -f hotdrink-secret.yaml -n sg-demo
CPXのデプロイとNetScaler ConsoleへのCPXの登録
-
kubectl create -f rbac.yamlを実行して、クラスターロールとクラスターバインディングをデプロイします。 -
kubectl create -f cpx.yaml -n sg-demoを実行してCPXをデプロイします。
デプロイ後、CPXの登録は自動的に行われます。
ライセンス付与のための仮想サーバー自動選択の有効化
注
十分な仮想サーバーライセンスがあることを確認してください。詳細については、ライセンスを参照してください。
NetScaler ConsoleにKubernetesクラスターを追加した後、ライセンス付与のために仮想サーバーを自動選択するように設定する必要があります。サービスグラフにデータを表示するには、仮想サーバーにライセンスが付与されている必要があります。仮想サーバーを自動選択するには:
-
Settings > Licensing & Analytics Configurationに移動します。
-
Virtual Server License Summaryの下で、Auto-select Virtual ServersとAuto-select non addressable Virtual Serversを有効にします。

WebトランザクションとTCPトランザクション設定の有効化
Kubernetesクラスターを追加し、仮想サーバーの自動選択を有効にした後、Webトランザクション設定とTCPトランザクション設定をすべてに変更します。
-
Settings > Analytics Settingsに移動します。
[分析設定]ページが表示されます。
-
Enable Features for Analyticsをクリックします。
-
Web Transaction Settingsの下で、Allを選択します。
-
TCP Transactions Settingsの下で、Allを選択します。

-
OKをクリックします。
マイクロサービスへのトラフィックの送信
次に、NetScaler Consoleにサービスグラフを表示させるために、マイクロサービスにトラフィックを送信する必要があります。
-
kubectl get svc -n sg-demoを実行して、NodePort経由でCPXを公開します。
-
etc/hostファイルを編集し、
hotdrink.beverages.comのドメインIPエントリを作成します。これで、
https://hotdrink.beverages.comを使用してマイクロサービスにアクセスできます。
この記事の概要
- ソフトウェア要件
- 開始する前に
- ソフトウェア要件
- 開始する前に
- NetScaler Consoleでの静的ルートの設定
- GitHubからのサンプルデプロイファイルのダウンロード
- CPX YAMLファイルへのパラメーターの追加
- NetScaler ConsoleでのVPX、SDX、MPX、またはBLXインスタンスの追加
- NetScaler ConsoleでのKubernetesクラスターの追加
- サンプルマイクロサービスアプリケーションのデプロイ
- CPXのデプロイとNetScaler ConsoleへのCPXの登録
- ライセンス付与のための仮想サーバー自動選択の有効化
- WebトランザクションとTCPトランザクション設定の有効化
- マイクロサービスへのトラフィックの送信