Citrix Application Delivery Management サービス

サービスグラフの設定

ソフトウェア要件

Kubernetes配布 Kubernetesバージョン コンテナーネットワークインターフェイス (CNI) CPXバージョン CIC バージョン Citrix ADM エージェントのバージョン
オープンソース v1.16.3 Flannel、CalicoまたはCanal 13.0~47.103以降 1.6.1 以降 13.0—49.x 以降

Citrix ADM でサービスグラフを使用するには、次の項目があることを確認してください。

Citrix ADM エージェントを構成する

KubernetesクラスタとCitrix ADM 間の通信を有効にするには、Citrix ADMエージェントをインストールして構成する必要があります。Hypervisor、パブリッククラウドサービス(Microsoft Azure、AWS など)、またはCitrix ADC インスタンスで利用可能な組み込みエージェント(高可用性デプロイに最適)を使用してエージェントを構成できます。

プロシージャに従って、エージェントを設定します。

  • 既存のエージェントを使用することもできます。

  • Citrix ADM エージェントは、デフォルトでCitrix ADM 最新ビルドに自動的にアップグレードされます。エージェントの詳細は、[ ネットワーク ] > [ エージェント ] ページで確認できます。また、エージェントのアップグレードを実行する時間を指定することもできます。詳しくは、「エージェントのアップグレード設定の構成」を参照してください。

Citrix ADM エージェントでの静的ルートの構成

Kubernetes クラスター内では、コンテナー化されたすべての Pod はオーバーレイネットワークを使用します。これらのプライベート IP アドレスを直接使用して通信を確立することはできません。Citrix ADM からKubernetesクラスタへの通信を有効にするには、Citrix ADMエージェントで静的ルーティングを構成する必要があります。

Kubernetes クラスターの次の IP アドレスがあるとします。

  • Kubernetes master – 10.106.157.112

  • Kubernetes worker 1 – 10.106.157.111

  • Kubernetes worker 2 – 10.106.157.110

Kubernetes マスターで次のコマンドを実行して、静的ルーティングを実行する Pod ネットワークを特定します。

kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"

次に、コマンドを実行した後の出力例を示します。

コマンドの例

Citrix ADM エージェントが正常に構成されると、以下のようになります。

  1. SSHクライアントを使用してCitrix ADM エージェントにログオンする

  2. コマンドroute add -net <public IP address range> <Kubernetes IP address>を使用して、静的ルーティングを設定します。

    次に例を示します:

    route add -net 192.168.0.0/24 10.106.157.112

    route add -net 192.168.1.0/24 10.106.157.111

    route add -net 192.168.2.0/24 10.106.157.110

  3. 設定を確認するには、netstat -rnを使用します

    静的ルーティング

  4. これらのルートコマンドを /mpsconfig/svm.conf ファイルに追加します。

    1. Citrix ADM エージェントで、次のコマンドを使用して svm.conf ファイルにアクセスします。

      vim /mpsconfig/svm.conf

    2. 静的ルートを svm.conf ファイルに追加します。

      例:route add -net 192.168.0.0/24 10.106.157.112

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

  1. コマンド git clone https://github.com/citrix/citrix-k8s-ingress-controller.git を使用して、マスターノードでgitハブリポジトリをクローンします。

  2. YAMLにアクセスするには:

    cd citrix-k8s-ingress-controller/example/servicegraph-demo/

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

CPX 58.x 以降を使用している場合は、ADM エージェントへの登録時に nsroot 以外のパスワードを使用する必要があります。セキュリティを確保するために、Citrix ADM エージェント61.x以降のリリースでは、必須のパスワード変更が必要です。Citrix ADM エージェントを61.xまたは最新バージョンにアップグレードする場合は、必ず CPX 58.x以降の ビルドを使用する必要があります。

Citrix 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"

CPX YAML ファイル

  • NS_MGMT_SERVER :Citrix ADM エージェントのIPアドレスを示します。

  • NS_MGMT_FINGER_PRIN T:Citrix ADM エージェントでのCPXの認証を示します。指紋を取得するには:

    1. Citrix ADM で、[ ネットワーク ] > [ エージェント] に移動します。

    2. エージェントを選択し、[ フィンガープリントの表示] をクリックします。

      Fingerprint

  • NS_HTTP_POR T:通信用のHTTPポートを示します。

  • NS_HTTPS_PORT :通信用のHTTPSポートを示します。

  • NS_MGMT_USER:ユーザー名 を示します。

  • NS_MGMT_PASS :パスワードを示します。お好みのパスワードを指定してください

  • LOGSTREAM_COLLECTOR_IP — Citrix ADM エージェントのIPアドレスを示します。ログデータをCPXからADMに転送するには、ログストリームプロトコルを有効にする必要があります。

Citrix ADM で Kubernetes クラスターを追加する

Citrix ADM エージェントを構成して静的ルートを構成したら、Citrix ADMにKubernetesクラスターを追加する必要があります。

Kubernetesクラスタを追加するには、次の手順に従います。

  1. 管理者の資格情報を使用してCitrix ADM にログオンします。

  2. [ オーケストレーション ] > [ Kubernetes ] > [ クラスタ] に移動します。 「クラスタ」ページが表示されます。

  3. [追加] をクリックします。

  4. [ クラスタの追加 ] ページで、次のパラメータを指定します。

    1. [名前 ]: 任意の名前を指定します。

    2. API サーバー URL -Kubernetes マスターノードから API サーバー URL の詳細を取得できます。

      1. Kubernetes マスターノードで、コマンドkubectl cluster-infoを実行します。

        API サーバーの URL

      2. 「Kubernetes マスターが実行中です」と表示される URL を入力します。

    3. 認証トークン -認証トークンを指定します。認証トークンは、KubernetesクラスタとCitrix ADM 間の通信へのアクセスを検証するために必要です。認証トークンを生成する手順は、次のとおりです。

      Kubernetes マスターノードで、次の操作を行います。

      1. YAML を使用してサービスアカウントを作成します。

        kubectl create -f adm_svc_account.yaml

        サービスアカウントが作成されます。

      2. kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-saを実行して、クラスターの役割をサービスアカウントにバインドします。

        これで、サービスアカウントはクラスタ全体にアクセスできるようになります。

        トークンは、サービスアカウントの作成中に自動的に生成されます。

      3. kubectl describe sa citrixadm-saを実行してトークンを表示します。

      4. シークレット文字列を取得するには、kubectl describe secret <token-name>を実行します。

        トークンの生成

    4. リストからエージェントを選択します。

      CPX YAMLに追加したものと同じエージェントを選択してください。

    5. [作成] をクリックします。

      クラスタの追加

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

マスターノードで、次の操作を行います。

  1. kubectl create -f namespace.yamlを実行して名前空間を作成します。

  2. 次のコマンドを使用して、ホットドリンクマイクロサービス、入力、シークレットを配置します。

    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. kubectl create -f cpx.yaml -n sg-demoを実行してCPXをデプロイします。

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

十分な仮想サーバライセンスがあることを確認します。詳しくは、「ライセンス」を参照してください。

Citrix ADM でKubernetesクラスタを追加した後、ライセンス取得のために仮想サーバーを自動的に選択する必要があります。Service Graph にデータを表示するには、仮想サーバのライセンスが必要です。仮想サーバを自動選択するには、次の手順で行います。

  1. アカウント 」>「 購読」に移動します。

  2. [ 仮想サーバーライセンスの概要] で、 [仮想サーバーの自動選択][アドレス指定できない仮想サーバーの自動選択] を有効にします。

    仮想サーバを自動選択

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

Kubernetes クラスターを追加し、自動選択仮想サーバーを有効にしたら、[ Web トランザクションの設定] と [ **TCP トランザクションの設定 ]** を [ すべて] に変更します。

  1. [ Analytics ] > [ 設定]に移動します。

    [ 設定] ページが表示されます。

  2. [ 分析機能の有効化] をクリックします。

  3. Webトランザクションの設定」で、「 すべて」を選択します。

    web-transaction-settings

  4. [ TCP トランザクションの設定]で、[ すべて] を選択します。

    TCP

  5. [ OK] をクリックします

マイクロサービスへのトラフィックの送信

次に、トラフィックをマイクロサービスに送信して、Citrix ADM に表示されるサービスグラフを取得する必要があります。

  1. NodePortを介してCPXを公開するためにkubectl get svc -n sg-demoを実行します。

    ノードポート

  2. etc/host ファイルを編集し、hotdrink.beverages.comのドメインIPエントリを作成します。

    https://hotdrink.beverages.comを使用してマイクロサービスに アクセスできるようになりました。

アプリケーション 」>「サービスグラフ」>「 Kubernetes **サービスグラフ 」で入力されたサービスグラフ**を表示できます。詳しくは、「サービスグラフの詳細」を参照してください。