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

ソフトウェア要件

Kubernetes配布 Kubernetesバージョン コンテナーネットワークインターフェイス (CNI) CPXバージョン CIC バージョン Citrix ADM バージョン Citrix ADM エージェントのバージョン
オープンソース v1.16.3 フランネル 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

はじめに

次のシナリオを使用して、サービスグラフを表示できます。

  • 同じネットワーク上のCitrix ADMとKubernetesクラスター(たとえば、Citrix Hypervisor でホストされているCitrix ADMとKubernetesクラスター)。

  • Citrix ADM およびKubernetesクラスタが別のネットワーク上にインストールされている。このシナリオでは、 オンプレミスエージェントを設定し 、Kubernetes クラスタがホストされているネットワークにエージェントを登録する必要があります。

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

ソフトウェア要件

Kubernetes配布 Kubernetesバージョン コンテナーネットワークインターフェイス (CNI) CPXバージョン CIC バージョン Citrix ADM バージョン Citrix ADM エージェントのバージョン
オープンソース v1.16.3 フランネル 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

はじめに

次のシナリオを使用して、サービスグラフを表示できます。

  • 同じネットワーク上のCitrix ADMとKubernetesクラスター(たとえば、Citrix Hypervisor でホストされているCitrix ADMとKubernetesクラスター)。

  • Citrix ADM およびKubernetesクラスタが別のネットワーク上にインストールされている。このシナリオでは、 オンプレミスエージェントを設定し 、Kubernetes クラスタがホストされているネットワークにエージェントを登録する必要があります。

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

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

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

オンプレミスエージェントを使用している場合は、エージェントにスタティックルートを設定してください。SSHクライアントを使用して、Citrix ADM エージェントにログオンし、静的ルートを構成します。

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

  • Kubernetes master – 101.xx.xx.112

  • Kubernetes worker 1 – 101.xx.xx.111

  • Kubernetes worker 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}"

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

コマンドの例

  1. SSHクライアントを使用してCitrix 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. Citrix ADM では、次のコマンドを使用して svm.conf ファイルにアクセスします。

      vim /mpsconfig/svm.conf

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

      例:route add -net 192.168.0.0/24 101.xx.xx.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"

<!--NeedCopy-->
  • NS_MGMT_SERVER :Citrix ADM IPアドレスを示します。

    ADM エージェントが使用されている場合、これはオンプレミスエージェントの IP アドレスを示します。

  • NS_MGMT_FINGER_PRIN T:Citrix ADM におけるCPXの認証を示します。指紋を取得するには:

    1. Citrix ADM で、[ 設定]>[管理]に移動します。

    2. [ システム構成] で [ ADM フィンガープリントの表示] をクリックします。

      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でVPXまたはSDXまたはMPXまたはBLXインスタンスを追加する

サービスグラフで階層1のADCインスタンス分析を取得するには、Citrix ADMでVPX/SDX/MPX/BLXインスタンスを追加し、 Web Insightを有効にする必要があります。

  1. インフラストラクチャ > インスタンス > Citrix ADCに移動します。

  2. [ Add ] オプションをクリックして、インスタンスを追加します。詳しくは、「 Citrix ADM でのインスタンスの追加」を参照してください。

  3. インスタンスを追加したら、仮想サーバーを選択し、 Web Insightを有効にします。詳しくは、「 仮想サーバーでのライセンスの管理と分析の有効化」を参照してください。

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 を使用してサービスアカウントを作成します。

        apiVersion: v1
        kind: ServiceAccount
        metadata:
          name: <name>
          namespace: <namespace>
        <!--NeedCopy-->
        
      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. [Create] をクリックします。

      クラスタの追加

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

マスターノードの場合:

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

展開後、CPX 登録は自動的に行われます。

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

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

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

  1. [ 設定] > [ライセンスと分析の設定]に移動します。

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

    仮想サーバを自動選択

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

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

  1. 設定 > アナリティクスの設定に移動します

    [アナリティクス設定] ページが表示されます。

  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を使用してマイクロサービスに アクセスできるようになりました。