サービスグラフ-シンプルなオンボーディング

サービスグラフのオンボーディングプロセスは簡略化され、次の方法でサービスグラフをオンボーディングできます。

エージェントを Kubernetes ジョブとして自動的にデプロイする

Service Graph のオンボーディングプロセスとこのプロセスを自動的に自動化できます。

  • エージェントに必要な YAML をダウンロードします。

  • エージェントを設定します。

  • Kubernetes クラスターをNetScaler コンソールに登録します。

  • 必要な設定を実行して、NetScaler コンソールにサービスグラフを作成します。

前提条件

以下を用意してください:

  • Citrix Cloud アカウント

  • Kubernetes バージョン 1.19 以降をインストールしました。

  • HELM バージョン 3.x をインストールしました。

  • 必要なポートを開けた

  • スタティックルートを設定して接続を確立しました。エージェントを使用してNetScaler MPXまたはVPXをNetScaler コンソールに登録するには、クラスターノードとNetScaler MPXまたはVPX間の接続を確立する必要があります。

    注:

    スタティックルートを設定したくない場合は、ノードコントローラーを設定できます。詳しくは、「https://github.com/citrix/citrix-k8s-node-controller」および「https://github.com/citrix/citrix-helm-charts/tree/master/citrix-node-controller」を参照してください。

Citrix CloudからクライアントとシークレットCSVファイルを取得する

エージェントを構成したら、Citrix CloudページからクライアントとシークレットCSVファイルを取得します。

  1. citrix.cloud.comにログオンする

  2. [ ホーム ] アイコンをクリックし、[ ID とアクセス管理] を選択します。

    IDおよびアクセス管理

  3. APIアクセス 」タブで、セキュア・クライアント名を入力し、「 クライアントの作成」をクリックします。

    API アクセス

  4. ID とシークレットが生成されます。[ ダウンロード ] をクリックして、CSV ファイルを保存します。

    IDと秘密ファイル

  5. Kubernetes メインノードで、次のコマンドを実行して ID とシークレットを使用して認証トークンを作成します。 wget https://raw.githubusercontent.com/citrix/citrix-helm-charts/master/generate_token.py

    python3 generate_token.py --accessID=<accessID> --accessSecret=<accessSecret>

    注:

    認証トークンは 1 時間のみ有効です。

以下の項目を構成できます。

  • 自動シークレットの作成によるNetScalerエージェント

または

  • 手動シークレットを作成することによるNetScalerエージェント

自動シークレットを作成してNetScalerコンソールを構成する

ヘルムチャートを使用してエージェントをデプロイする

Kubernetes メインノードで次のコマンドを実行してエージェントをデプロイします。

helm repo add citrix https://citrix.github.io/citrix-helm-charts

helm install citrix-adm citrix/adm-agent-onboarding --namespace <namespace> --set token=<Token>

エージェントが展開され、クラスターがNetScaler コンソールに登録されます。自動シークレットを使用してエージェントを作成すると、エージェント認証情報を含む adm-agent-helperKubernetes Secret を作成できるエージェントと一緒にをデプロイすることもできます。

この処理は、名前空間にcitrix-cpx=enabledというラベルが付けられたときに自動的に実行されます。Kubernetes メインノードで以下のコマンドを実行します。

kubectl label namespace <namespace> citrix-cpx=enabled

:デプロイadm-agent-helperしたくない場合は 、エージェントのログインシークレットを手動で作成できます。

NetScaler VPX /MPX をNetScalerコンソールに登録

NetScaler VPX/MPXをNetScalerコンソールに登録できるのは、追加のメリットがある場合のみです。

NetScaler VPX/MPXをNetScaler コンソールに登録するには、静的ルートを構成して、NetScaler VPXまたはMPXとクラスターノード間の接続を確立する必要があります。Citrix-Node-Controllerを設定している場合は、このプロセスを無視してかまいません。

NetScaler VPX/MPXログイン認証情報を含むKubernetesシークレットを名前空間に作成する必要があります。このプロセスの後、エージェントのオンボーディングが開始されます。

kubectl create secret generic nslogin --from-literal=username=<username> --from-literal=password=<adc-password> -n <namespace>

NetScaler VPX/MPXの管理IPアドレスを環境変数として設定する必要があります adc.IP

helm repo add citrix https://citrix.github.io/citrix-helm-charts

helm install citrix-adm citrix/adm-agent-onboarding --namespace <namespace> --set adc.IP=<ADC ManagementIP>,adc.loginSecret=nslogin --set token=<Token>

管理 HTTP ポート adc.mgmtHttpPort と HTTPS ポート adc.mgmtHttpSport が 80 と 443 として開いていることを確認します。

手動シークレットを作成してエージェントを設定する

NetScaler CPX自体をNetScaler コンソールに登録するには、エージェントのログイン資格情報が必要です。NetScaler CPXを展開するように名前空間を手動で設定できます。

kubectl create secret generic admlogin --from-literal=username=nsroot --from-literal=password=<adm-agent-password> -n <namespace>

シークレットを作成したら、次のコマンドを使用してエージェントを設定できます。

helm install citrix-adm citrix/adm-agent-onboarding --namespace <namespace> --set admAgent.loginSecret=admlogin --set token=<Token>

NetScaler VPX /MPX をNetScalerコンソールに登録

NetScaler VPX/MPXをNetScaler コンソールに登録するには、静的ルートを構成して、NetScaler VPXまたはMPXとクラスターノード間の接続を確立する必要があります。Citrix-node-controllerを設定していれば、このプロセスは無視できます。

静的ルートを設定したら、NetScaler VPX/MPXログイン認証情報を含むKubernetesシークレットを名前空間に作成する必要があります。このプロセスの後、エージェントのオンボーディングが開始されます。

kubectl create secret generic nslogin --from-literal=username=<username> --from-literal=password=<adc-password> -n <namespace>

NetScaler VPX/MPXの管理IPアドレスを環境変数として設定する必要があります adc.IP

helm repo add citrix https://citrix.github.io/citrix-helm-charts

helm install citrix-adm citrix/adm-agent-onboarding --namespace <namespace> --set adc.IP=<ADC ManagementIP>,adc.loginSecret=nslogin --set token=<Token>

管理 HTTP ポート adc.mgmtHttpPort と HTTPS ポート adc.mgmtHttpSport が 80 と 443 として開いていることを確認します。

上記の手順を設定すると、15 分以内にサービスグラフの表示が開始されます。NetScaler Consoleで、[ アプリケーション]>[サービスグラフ ]に移動し、[ マイクロサービス ]をクリックてサービスグラフを表示します。

例:

サービスグラフの手動設定

次の方法でサービスグラフを手動で入力できます。

  • エージェントを Kubernetes クラスタ内のマイクロサービスとして設定します。

  • クラスターの登録、インスタンスの追加、ライセンスおよび詳細な TCP および Web トランザクションの有効化など、その他のワークフローを完了します。

    既存のエージェントを使用するか、ハイパーバイザーを使用してオンプレミスのNetScalerエージェントを構成する場合は、「 サービスグラフの設定」の手順に従ってサービスグラフを作成します 。

  1. [ アプリケーション] > [サービスグラフ ] に移動し、[ マイクロサービス ] タブを選択します。

    マイクロサービスクラスタが設定されていないことがわかります。設定するオプションをクリックします。

    サービスグラフの設定

  2. カスタムデプロイを選択します

  3. デプロイタイプを選択します。

  4. アプリケーションタイプとして [ マイクロサービス ] を選択します。

  5. [ 次へ ] をクリックしてエージェントを設定します。

  6. [ エージェントマイクロサービスのダウンロード ] ページで、次のパラメータを指定します:

    1. アプリケーション ID — Kubernetes クラスタ内のエージェントのサービスを定義し、このエージェントを同じクラスタ内の他のエージェントと区別するための文字列 ID。

    2. パスワード— CPXのパスワードを指定して、このパスワードを使用してCPXをエージェント経由でNetScaler Consoleにオンボーディングします。

    3. 「パスワードの確認 」— 確認のために同じパスワードを指定します。

      デフォルトのパスワード(nsroot)を使用しないでください。

    4. [Submit] をクリックします。

  7. YAML ファイルのダウンロードまたはHelm チャートのダウンロードをクリックします

  8. Kubernetes メインモードで、ダウンロードした YAML ファイルを保存し、以下のコマンドを実行してエージェントを登録します。

    kubectl create -f <yaml file>

    例:kubectl create -f testing.yaml

    エージェントが正常に作成されました。

  9. [ エージェントの登録] をクリックします。

    エージェントを登録する

    ページが数秒間読み込まれ、登録されたエージェントが表示されます。

  10. エージェントがリストに含まれていることを確認し、[ 次へ] をクリックします。

    登録エージェントリスト

  11. クラスターを登録する必要があります。「 さらにクラスターを追加 」をクリックし、次のパラメーターを指定します。

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

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

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

        API サーバーの URL

      2. 「Kubernetes メインが稼働している」と表示される URL を入力します。

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

      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>を実行してください。

        トークンの生成

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

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

  14. クラスターページには 、クラスター情報が表示されます。[次へ] をクリックします。

    Cluster

  15. CPXとVPXインスタンスを構成し、[ 次へ] をクリックします。

    インスタンスを設定する

  16. [ 次へ ] をクリックして、詳細な Web トランザクションと TCP トランザクションを有効にします。

    ライセンスと Web トランザクションの設定

  17. 設定が完了しました。[ サービスグラフ ] を選択し、[ 完了] をクリックします。

    サービスグラフの設定が完了しました

サービスグラフは約 15 分で入力されます。[ アプリケーション] > [サービスグラフ ] に移動し、[ マイクロサービス ] タブを選択してサービスグラフを表示します。

サービスグラフ-シンプルなオンボーディング