高度な概念

DiamantiおよびNirmata検証済みリファレンスデザインにおけるKubernetesでのCitrix ADC CPX

テストする機能と機能

テストケース:North-SouthおよびヘアピンEast-WestのIngress Controller およびデバイスとしてのCPX:

North-SouthとしてのVPXを除くすべてのテストケースの設定:

  • クラスター内の2つのCPX(CPX-1、CPX-2)
  • ライセンスサーバーとしてのADM
  • クラスター内の Prometheus エクスポーターコンテナ
  • Prometheus サーバーと Grafana (Kubernetes のポッドとして、または Kubernetes サーバーの外部にあるポッドとして)
  • 複数のフロントエンドアプリ
  • 複数のバックエンドアプリケーション

I. North-SouthとしてのVPX

  1. SDXフロントエンドDiamantiプラットフォーム上のVPX

    • SSL オフロードをテストし、SSL 接続ごとに X-Forward を挿入して再暗号化する
    • SSL セッションでの X フォワードの挿入

II. North-SouthデバイスとしてのCPX

  1. CPX-1。指定された入力クラスを持つ 2 つまたは 3 つの HTTPS アプリケーションをサポートする HTTPS 入力を設定します。

    • 複数のコンテンツスイッチポリシーの作成をデモンストレーションします(フロントエンドアプリごとに1つずつ)。
    • CPX ごとに複数のワイルドカード証明書をデモンストレーションします。アプリごとに 1 つのワイルドカード証明書があります。
    • フロントエンドアプリへのトラフィックオフロードと再暗号化のCPXデモを行います。
    • さまざまなロードバランシングアルゴリズムをデモンストレーションします。
    • 1 つのポッドへの永続性を示します。
  2. CPX-1。指定された入力クラスで個別の TCP 入力を設定します。

    • MongoDBのようなTCPアプリケーションを挿入します。
    • TCP VIP の作成を表示します。
    • MongoDB ポッドに到達する TCP クライアントトラフィックを表示します。
    • デフォルトの TCP アプリケーションの健全性チェックを表示します。
  3. CPX-1。指定された入力クラスで個別の TCP-SSL 入力を設定します。

    • TCP-SSL VIP の SSL オフロードと再暗号化のデモンストレーションを行います。
    • テストケース 2 を繰り返します。
  4. アプリごとのCPXです。 別の入力クラスの使用:

    • 1つのアプリのみをサポートするCPX-2を使用して、テストケース1~3を繰り返します。
  5. チームあたりのCPX。入力クラスの使用:

    • 2 つのチームに異なる入力クラスを割り当てます。
    • CPXが個々のチームの入力ルールを設定できるという証拠として、テストケース1をデモンストレーションします。
  6. フロントエンドポッドを自動スケールする:

    • フロントエンドポッドへのトラフィックを増やし、ポッドが自動スケーリングされるようにします。
    • CPX-1 が新しいポッドをサービスグループに追加することを示します。
    • HTTPS 入力 VIP のデモンストレーションを行います。
  7. 4 ~ 7 vCPU のサポート:

    • 4 個または 7 個の vCPU で CPX-1 を設定します。
    • HTTPS TPSのパフォーマンステストを表示, 全体的に暗号化されたBW.

III. ヘアピンEast-WestデバイスとしてのCPX

  1. CPX-1。セクション I.1 で説明されているように、North-Southトラフィック用の HTTPS 入力を作成します。

    • バックエンドアプリをフロントエンドアプリに公開します。
    • 両方のアプリ間のトラフィックを表示します。
    • バックエンドアプリを別のバックエンドアプリに公開します。
    • アプリ間のトラフィックを表示します。
  2. CPX-1。手順 1 の指示に従います。また、エンドツーエンドの暗号化も示します。

    • オフロードと再暗号化を行うCPX-1で暗号化されたバックエンドアプリからバックエンドアプリ。
  3. バックエンドポッドの自動スケール:

    • CPX-1 で、バックエンドの自動スケーリングされたバックエンドポッドをサービスグループに追加することをデモンストレーションします。

IV. PrometheusとGrafanaとのCPX統合

  1. Prometheusコンテナを Kubernetes クラスターに挿入します。

    • 各アプリのエクスポート用に推奨されるカウンターでコンテナーを構成します。
    • Prometheusサーバーにカウンタデータを送信するエクスポーターコンテナをデモンストレーションします。
    • CPXから来るPrometheusサーバーからのデータを示すGrafanaダッシュボードを表示します.
    • 目標は、開発者が DevOps でよく使用されているクラウドネイティブツールを使用できることを示すことです。
  2. 統合の Kubernetes ローリング展開をデモンストレーションします。

    • Nirmataに新しいバージョンのアプリを挿入します。
    • クラスターに新しいアプリケーションバージョンを展開する Kubernetes を表示します。
    • Kubernetesからのローリング展開コマンドに応答するCPXをデモンストレーションして、古いバージョンのアプリから新しいバージョンのアプリへのトラフィックの 100% を奪います。

Citrix ADC CPX展開のためのCitrix ADC ソリューション

  1. カスタムプロトコル: デフォルトでは、CITRIX INGRESS CONTROLLERはデフォルトのプロトコル(HTTP/SSL)を使用して設定を自動化します。CITRIX INGRESS CONTROLLERは、注釈を使用してカスタムプロトコル(TCP/SSL-TCP/UDP)を設定することをサポートしています。

    注釈:

    ingress.citrix.com/insecure-service-type: "tcp" [選択LBプロトコルへの注釈]

    ingress.citrix.com/insecure-port: "53" [カスタムポートをサポートする注釈]

  2. CS/LB/サービスグループパラメータの微調整: デフォルトでは、CITRIX INGRESS CONTROLLERはADCをデフォルトパラメータで設定します。これらのパラメータは、NetScaler ADCエンティティパラメータ(lb/サービスグループ)アノテーションを使用して微調整できます。

    注釈:

    LB-方法:ingress.citrix.com/lbvserver: '{"app-1":{"lbmethod":"ROUNDROBIN"}}'

    持続性:ingress.citrix.com/lbvserver: '{"app-1":{"persistencetype":"sourceip"}}'

    NITRO API

  3. アプリごとのSSL暗号化: CITRIX INGRESS CONTROLLERは、スマートな注釈を使用して、アプリのSSL暗号化を選択的に有効にすることができます。

    注釈:

    ingress.citrix.com/secure_backend: '{"web-backend": "True"} [アプリケーションごとに暗号化を選択的に有効にする注釈]

  4. 入力のデフォルト証明書: CITRIX INGRESS CONTROLLERはデフォルトの証明書を引数として使用することができます。入力定義にシークレットがない場合は、デフォルトの証明書が使用されます。シークレットは名前空間に一度作成する必要があり、名前空間にあるすべての入力がそれを使用できます。

  5. Citrix の複数入力クラスのサポート: デフォルトでは、CITRIX INGRESS CONTROLLERはk8sクラスター内のすべての入力オブジェクトをリッスンします。入力クラス注釈の助けを借りて、ADC(Tier-1 MPX/VPX & Tier-2 CPX)の構成を制御することができます。これにより、各チームが ADC の構成を個別に管理できるようになります。Ingress クラスは、特定の名前空間と名前空間グループの ADC を構成するためのソリューションの展開に役立ちます。サポートは、他のベンダーが提供するよりも一般的です。

    注釈:

    kubernetes.io/ingress.class: "citrix" [特定のクラスに属する入力のみを設定するようにCITRIX INGRESS CONTROLLERに通知する]

  6. 可視性: Citrix k8sソリューションは、Prometheous/Grafanaなどのcncf可視性ツールと統合され、測定基準収集が向上し、デバッグや分析機能が向上します。CitrixのPrometheusエクスポーターは、Grafanaで時系列チャートとして可視化するために利用可能なメトリックをPrometheusに提供します.

マイクロサービスアーキテクチャの使用について詳しくは、GitHub のREADME.mdファイルを参照してください。構成フォルダ内の.yamlファイルを見つけることができます。

POCストーリー

kubernetes クラスターでアプリを実行するチームが 3 つあります。各チームの設定は、Citrixの入力クラスの助けを借りて、異なるCPX上で独立して管理されています。

各チームのアプリは別々の名前空間(team-hotdrink, team-colddrink, and team-redi)で実行されており、すべてのCPXはCPX名前空間で実行されています。

team-hotdrink:SSL/HTTP 入力、永続性、lbmethod、アプリケーションごとの暗号化/説明、デフォルト証明書。

team-colddrink:SSL TCP 入力

team-redis: TCP 入力

POC の設定

image-cpx-deployment-01

アプリケーションの流れ

HTTP/SSL/SSL/SSLTCPのユースケース:

image-cpx-deployment-02

TCP ユースケース:

image-cpx-deployment-03

ドッカーのイメージを取得する

提供されたYAMLコマンドは、キーリポジトリから画像を取得しています。

イメージをプルしてローカルリポジトリに保存することもできます。YAMLで Image パラメータを編集することで利用できます。


Nirmataを使用したステップバイステップのアプリケーションおよびCPXの展開

  1. クラスタロールとクラスタロールバインディングを YAML にアップロードし、Nirmata (rbac.yaml) を使用してクラスターに適用します。

    1. [クラスタ] タブに移動します。
    2. クラスターを選択します。
    3. 設定では、[YAML を 適用] オプションから YAML を適用します。
  2. CPXとアプリを実行するための環境を作成します。

    1. [環境] タブに移動します。
    2. [環境を追加] タブをクリックします。
      • クラスターを選択し、共有名前空間に環境を作成します。

      image-cpx-deployment-04

    3. Prometheus、CPX、および異なるチーム用のアプリを実行するために、以下の環境を作成します。
      • 環境の作成:cpx
      • 環境の作成:team-hotdrink
      • 環境の作成:team-colddrink
      • 環境の作成:team-redis
  3. Nirmataを使用して.yamlアプリケーションをアップロードします。

    1. [カタログ] タブに移動します。
    2. [アプリケーションの追加] をクリックします。
    3. [追加] をクリックして、アプリケーションを追加します。

      アプリケーションを追加team-hotdrink (team_hotdrink.yaml)。アプリケーション名:team-hotdrink

      アプリケーションを追加:team-colddrink (team_coldrink.yaml)。アプリケーション名:team-colddrink

      アプリケーションを追加:team-redis (team_redis.yaml)。アプリケーション名:team-redis

      アプリケーションを追加:cpx-svcacct (cpx_svcacct.yaml)。アプリケーション名:cpx-svcacct。

      注:

      CITRIX INGRESS CONTROLLERを内蔵したCPXでは、実行中の名前空間にサービスアカウントが必要です。Nirmata の現在のバージョンでは、cpx 環境でcpx_svcacct.yamlを使用してこれを作成します。

      アプリケーションを追加:cpx (cpx_wo_sa.yaml)。アプリケーション名:cpx。

  4. Nirmataを使用してCPXを実行します。

    1. [環境] タブに移動し、正しい環境を選択します。
    2. [アプリケーションの実行] をクリックして、アプリケーションを実行します。
    3. cpx環境で、cpx-svcacctアプリケーションを実行します。カタログアプリケーションから実行名cpx-svcacctcpx-svcacctを選択します。
    4. cpx環境で、cpxアプリケーションを実行します。カタログアプリケーションから「cpx」を選択します。

    image-cpx-deployment-05

    注:

    CPX の展開には、セットアップで以前のバージョンの Nirmata を使用しているため、いくつかの小さな回避策が必要です。

    1. CPX 配置を作成するときは、serviceAccountNameを設定しないでください。serviceAccountNameは後で追加 できます。回避策として、ポッドを自動的に再展開します。
    2. 入力の TLS シークレットを環境に直接インポートします。これにより、タイプフィールドが保持されます。
    1. アプリケーションを実行した後、 CPX アプリケーションに移動します。
    2. [展開] > [StatefulSets & DaemonSets] タブで、cpx-ingress-colddrinks展開をクリックします。
    3. 次のページで、 Pod テンプレートを編集します。サービスアカウントCPX と入力します。
    4. CPX アプリケーションに戻ります。
    5. cpx-ingress-hotdrinksおよびcpx-ingress-redis展開でも同じ手順を繰り返します。

    サービスアカウントを適用すると、ポッドが再展開されます。ポッドが起動するのを待ち、サービスアカウントが適用されているかどうかを確認します。

    同じことは、Diamanti クラスターで次のコマンドを使用して確認できます。

    
    [diamanti@diamanti-250 ~]$ kubectl get deployment -n cpx -o yaml | grep -i account
            serviceAccount: cpx
            serviceAccountName: cpx
            serviceAccount: cpx
    

    注: serviceAccountが適用されていない場合は、CPX ポッドをキャンセルします。それを再作成する展開は、serviceAccountを使用します。

    image-cpx-deployment-06

  5. Nirmataを使用してアプリケーションを実行します。

    チームホットドリンクアプリケーション:

    1. [環境] タブに移動し、正しい環境を選択します。team-hotdrink
    2. team-hotdrink 環境で、実行名でteam-hotddrink アプリケーションteam-hotdrink を実行します。カタログアプリケーションからteam-hotdrinkを選択します。
    3. team-hotdrinkアプリケーションに移動します。画面の右上隅にある [設定] をクリックし、[アプリケーションにインポート] を選択します。hotdrink-secret.yamlをアップロードします。

    image-cpx-deployment-07

    チームコールドドリンクのアプリケーション:

    1. [環境] タブに移動し、正しい環境を選択します。team-colddrink
    2. team-colddrink環境で、実行名でteam-coldddrinkアプリケーションteam-colddrinkを実行します。カタログアプリケーションからteam-hotdrinkを選択します。
    3. team-colddrinkアプリケーションに移動します。画面の右上隅にある [設定] をクリックし、[アプリケーションにインポート] を選択します。colddrink-secret.yamlをアップロードします。

    チーム-Redisアプリケーション:

    1. [環境] タブに移動し、正しい環境を選択します。team-redis
    2. team-colddrink環境で、実行名team-redisでアプリケーションを実行します。カタログアプリケーションからteam-redisを選択します。
      • team-redis環境で、実行名team-redisでアプリケーションを実行します。

VPX上のTier-2のCPXを公開するコマンド

Tier-1 VPXは、SSL暗号化/解読を行い、Tier-2 CPXに送信中にX-forwardヘッダーを挿入する必要があります。Tier-1構成は手動で実行する必要があります。X-Forwardヘッダーは、サービスグループで-cip ENABLEDを使用して挿入することができます。config.txtを開きます。

csververを作成します。

certkeyをCitrix ADC にアップロードします。wild.com-key.pem, wild.com-cert.pem

add cs vserver frontent_grafana HTTP <CS_VSERVER_IP> 80 -cltTimeout 180

Tier-1 VPXでwww.hotdrinks.com、www.colddrinks.com、www.guestbook.comで公開:

add serviceGroup team_hotdrink_cpx SSL -cip ENABLED
add serviceGroup team_colddrink_cpx SSL -cip ENABLED
add serviceGroup team_redis_cpx HTTP
add ssl certKey cert -cert "wild-hotdrink.com-cert.pem" -key "wild-hotdrink.com-key.pem"
add lb vserver team_hotdrink_cpx HTTP 0.0.0.0 0
add lb vserver team_colddrink_cpx HTTP 0.0.0.0 0
add lb vserver team_redis_cpx HTTP 0.0.0.0 0
add cs vserver frontent SSL 10.106.73.218 443
add cs action team_hotdrink_cpx -targetLBVserver team_hotdrink_cpx
add cs action team_colddrink_cpx -targetLBVserver team_colddrink_cpx
add cs action team_redis_cpx -targetLBVserver team_redis_cpx
add cs policy team_hotdrink_cpx -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.hotdrinks.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action team_hotdrink_cpx
add cs policy team_colddrink_cpx -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.colddrinks.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action team_colddrink_cpx
add cs policy team_redis_cpx -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.guestbook.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action team_redis_cpx
bind lb vserver team_hotdrink_cpx team_hotdrink_cpx
bind lb vserver team_colddrink_cpx team_colddrink_cpx
bind lb vserver team_redis_cpx team_redis_cpx
bind cs vserver frontent -policyName team_hotdrink_cpx -priority 10
bind cs vserver frontent -policyName team_colddrink_cpx -priority 20
bind cs vserver frontent -policyName team_redis_cpx -priority 30
bind serviceGroup team_hotdrink_cpx 10.1.3.8 443
bind serviceGroup team_colddrink_cpx 10.1.2.52 443
bind serviceGroup team_redis_cpx 10.1.2.53 80
bind ssl vserver frontent -certkeyName cert

サービスグループの CPX ポッド IP アドレスに IP アドレスを更新します。

root@ubuntu-211:~/demo-nimata/final/final-v1# kubectl get pods -n cpx -o wide
NAME                                      READY     STATUS    RESTARTS   AGE       IP             NODE
cpx-ingress-colddrinks-5bd94bff8b-7prdl   1/1       Running   0          2h        10.1.3.8   ubuntu-221
cpx-ingress-hotdrinks-7c99b59f88-5kclv    1/1       Running   0          2h        10.1.2.52  ubuntu-213
cpx-ingress-redis-7bd6789d7f-szbv7        1/1       Running   0          2h        10.1.2.53  ubuntu-213

image-cpx-deployment-08

  • www.hotdrinks.com、www.colddrinks.com、www.guestbook.comにアクセスするには、(ページにアクセスするマシンの)ホストファイルに、次の値を追加する必要があります。

    <CS_VSERVER_IP> www.hotdrinks.com

    <CS_VSERVER_IP> www.colddrinks.com

    <CS_VSERVER_IP> www.guestbook.com

    これが完了したら、アプリにアクセスすることができます: www.hotdrinks.com、www.colddrinks.com、www.guestbook.com

Tier-2 CPX構成の検証

CPX構成を検証するには、CPX環境に移動します。CPX実行中のアプリケーションを選択します。

cpx-ingress-hotdrinks展開を選択し、cpx-ingress-hotdrinks-xxxx-xxxxポッドをクリックします。

次のページで、実行中のコンテナに移動し、「bash” コマンド cpx-ingress-hotdrinks を入力しての端末を起動します。

image-cpx-deployment-09

image-cpx-deployment-10

ターミナルが接続されると、cli_script.shで通常のNetScaler コマンドを使用して構成を検証します。

  • cli_script.sh "sh cs vs"
  • cli_script.sh "sh lb vs"
  • cli_script.sh "sh servicegroup"

検証は、team-colddrinkおよびteam-mongodbの他の CPX 展開についても同じ方法で実行できます。

スケールアップ/スケールダウンの実行

スケールアップ/スケールダウンを実行するには、次の手順に従います。

  1. team-hotdrink環境に移動します。team-hotdrink実行中のアプリケーションを選択します。
  2. frontend-hotdrinks展開をクリックします。
  3. 次のページで、[レプリカの更新] をクリックします。この値を 10 に増やします。

参照:Tier-2 CPX構成を検証してCPXの構成を確認 (展開: cpx-ingress-hotdrinks)。

  1. CPX環境に移動します。実行中のCPXアプリケーションを選択します。
  2. cpx-ingress-hotdrinks展開をクリックします。
  3. cpx-ingress-hotdrinks-xxxx-xxxxポッドをクリックします。
  4. 次のページで、実行中のコンテナに移動し、「bash” コマンド cpx-ingress-hotdrinks を入力しての端末を起動します。
  5. cli_script.sh "sh servicegroup < servicegroup name >"」を参照してください。

image-cpx-deployment-11

ローリング更新の実行

ローリング更新を実行するには、次の手順に従います。

  1. team-hotdrink環境に移動します。team-hotdrink実行中のアプリケーションを選択します。
  2. フロントエンドのホットドリンクを展開します。
  3. 次のページで、 ポッド テンプレートに移動します。
  4. イメージの更新先: quay.io/citrix/hotdrinks-v2: latest
  5. 更新を完了させます。
  6. アプリケーションにもう一度アクセスします。新しいページには、更新をローリングした後、更新されたイメージが付属しています。

image-cpx-deployment-12

Prometheusの展開

NetScaler メトリックスエクスポーター、Prometheus、およびGrafanaを使用して、入力CPXからメトリックを自動的に検出して収集します。

Prometheusの展開手順:

CPXとアプリを実行する環境を作成します。

  1. [環境] タブに移動します。
  2. [環境を追加]をクリックします。
  3. エクスポーター、Prometheus、Grafana.を実行するための環境を作成します。
    • 環境を作成します。 監視

Nirmataを使用して.yamlファイルをアップロードします。

  1. [カタログ] タブに移動します。
  2. [アプリケーションの追加] をクリックします。
  3. [追加] をクリックして、アプリケーションを追加します。
    • アプリケーションの追加:監視(.yamlの監視)。

Prometheusアプリケーションを実行しています:

  1. [環境] タブに移動し、適切な環境( 監視 )を選択します。
  2. 名前の 監視 を使用して [アプリケーションの実行] をクリックします。
  3. これにより、Exporter、Prometheus、および Grafana ポッドが展開され、メトリックスの収集が開始されます。
  4. PrometheusとGrafanaはVPXを通して公開する必要があります。

PrometheusとGrafanaを公開するVPX上のコマンド:

csvserverを作成します。

add cs vserver frontent_grafana HTTP <CS_VSERVER_IP> 80 -cltTimeout 180

Prometheusを公開する:

add serviceGroup prometheus HTTP
add lb vserver prometheus HTTP 0.0.0.0 0
add cs action prometheus -targetLBVserver prometheus
add cs policy prometheus -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.prometheus.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action prometheus
bind lb vserver prometheus prometheus
bind cs vserver frontent_grafana -policyName prometheus -priority 20
bind serviceGroup prometheus <PROMETHEUS_POD_IP> 9090

注:

“kubectl get pods -n monitoring -o wide”を使用して prometheus-k8s-0 pod IPを取得します

グラファナを公開:

add serviceGroup grafana HTTP
add lb vserver grafana HTTP 0.0.0.0 0
add cs action grafana -targetLBVserver grafana
add cs policy grafana -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.grafana.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action grafana
bind lb vserver grafana grafana
bind cs vserver frontent_grafana -policyName grafana -priority 10
bind serviceGroup grafana <GRAFANA_POD_IP>  3000

注:

kubectl get pods -n monitoring -o wideを使用してgrafana-xxxx-xxx pod IPを取得します

  • これで、PrometheusとGrafanaのページがVPXのcsvserver経由でアクセスできるように公開されました。

  • PrometheusとGrafanaにアクセスするには、(ページにアクセスするマシンの)hostsファイルに以下の値を付加する必要があります。

    <CS_VSERVER_IP> www.grafana.com <CS_VSERVER_IP> www.prometheus.com

  • これが完了したら、 www.prometheus.comにアクセスしてPrometheusに移動します。Grafanaにアクセスするには、 www.grafana.comに移動します。

指標を視覚化する:

  • Prometheusがエクスポーターを検出したことを確認するには、 www.prometheus.com/targetsにアクセスしてください。CPXおよびVPXデバイスを監視しているすべてのエクスポーターのリストが含まれている必要があります。すべてのエクスポータが UP 状態であることを確認します。以下の例を参照してください:

image-cpx-deployment-13

  • 収集中の値をプロットするためにGrafanaを使用することができます。これを行うには、次の操作を行います。

    1. www.grafana.comに移動します。ホストファイルに適切なエントリが追加されていることを確認します。
    2. デフォルトのユーザ名 admin とパスワード admin を使用してログインします。
    3. ログイン後、ホームダッシュボードで [データソースの追加] をクリックします。
    4. [Prometheus] オプションを選択します。
    5. 次の詳細情報を入力/変更します。
      • 名前:prometheus (すべて小文字)。
      • URL:http://prometheus:9090
      • 残りのエントリはデフォルト値のままにします。
    6. [保存してテスト] をクリックします。画面の下部に [データソースが動作しています] というメッセージが表示されるまで、数秒間待ちます。
    7. 左パネルの+アイコンをクリックして、あらかじめデザインされたGrafanaテンプレートを読み込みます。「 インポート」を選択します。
    8. json をアップロード 」ボタンをクリックし、 sample_grafana_dashboard.json ファイルを選択します( 名前フォルダ一意の識別子 は変更しません)。
    9. Prometheus」ドロップダウンメニューから「Prometheus」を選択し、「 インポート 」をクリックします。
    10. これにより、次の画像のようなダッシュボードがアップロードされます。

      image-cpx-deployment-14

ライセンスおよびパフォーマンステスト

PERF およびライセンス用の CPX の実行。

CPXコアの数とライセンスサーバーの詳細は、以下の環境変数に記載されています。

コア数を選択する環境変数

  • 名前:「CPXコア」
  • 値: 3

ライセンスサーバーを選択する環境変数

  • 名前:「LS_IP」
  • 値:「X.X.X.X」

    ダイアマンティ注釈: diamanti.com/endpoint0: '{"network":"lab-network","perfTier":"high"}

    上記の正しいIPを設定して、ライセンスサーバーを修正します。

    1. 上記の環境変数とDiamanti固有の注釈をcpx-perf.yamlファイルに追加します。
    2. [環境] タブに移動し、cpx-perf環境を作成します。

    Nirmataを使用してYAMLアプリケーションをアップロードします。

    1. [カタログ] タブに移動します。
    2. [アプリケーションの追加] をクリックします。
    3. 追加をクリックしてアプリケーションを追加します:cpx-perf.yaml。アプリケーション名:cpx-perf

    CPXを実行中:

    1. [環境] タブに移動し、cpx-perf環境を選択します。
    2. cpx-perf環境で、cpx-svcacctアプリケーションを実行します。
    3. cpx-perf環境で、cpx-perfアプリケーションを実行します。
    4. アプリケーションを実行した後、cpx-perfアプリケーションに移動します。
    5. [展開] > [StatefulSets & DaemonSets] タブで、cpx-ingress-perf展開をクリックします。次のページで、ポッドテンプレートを編集します。サービスアカウントCPX と入力します。
    6. ライセンスが動作していること、およびCitrix ADMでライセンスのチェックアウトが行われていることを確認します。
      • CPXで検証するには、次の手順に従います。
        • kubectl get pods -n cpx
        • kubectl exec -it <CPX_POD_NAME> -n cpx bash
        • cli_script.sh ‘sh licenseserver’
        • sh ‘sh キャパシティ’
      • 同様の出力を表示します。
      root@cpx-ingress-colddrinks-66f4d75f76-kzf8w:/# cli_script.sh 'sh licenseserver'
      exec: sh licenseserver
      1)  ServerName:  10.217.212.228Port:  27000            Status:  1              Grace:  0               Gptimeleft:  0
      Done
      root@cpx-ingress-colddrinks-66f4d75f76-kzf8w:/# cli_script.sh 'sh capacity'
      exec: sh capacity
          Actualbandwidth:  10000 VcpuCount:  3           Edition:  Platinum      Unit:  Mbps             Maxbandwidth:  10000    Minbandwidth:  20       Instancecount:  0
      Done
      
      • ADM で検証するには、ライセンスサーバーに移動し、 [ネットワーク] > [ライセンス] > [仮想 CPU ライセンス]に移動します。
      • ここでは、ライセンスされたCPXとコア数が表示されます。

      image-cpx-deployment-15

「アノテーション」テーブル

注釈 指定可能な値 説明 デフォルト(存在する場合)
kubernetes.io/ingress.class 入力クラス名 これは、特定の入力リソースとIngress Controllerを関連付ける方法です。たとえば、 kubernetes.io/ingress.class:"Citrix" すべての入力を設定します。
ingress.citrix.com/secure_backend .json形式を使用して、安全なバックエンドのためのサービスを一覧表示します Citrix ADCでセキュアなHTTPS接続を使用してアプリケーションを接続する場合は、 Trueを使用します。Citrix ADCで安全でないHTTP接続を使用してアプリケーションを接続する場合は、 Falseを使用します。たとえば、 ingress.citrix.com/secure_backend: {'app1':"True", 'app2':"False", 'app3':"True"} 「偽」
ingress.citrix.com/lbvserver JSON 形式で、lbvserver 用の設定 スマートな注釈機能を提供します。これを使用すると、上級ユーザー(NetScaler LB Vserverとサービスグループオプションに関する知識を持つユーザー)が直接適用できます。値は、.json 形式である必要があります。入力のバックエンドアプリケーションごとに、キー値のペアを指定します。キー名は、対応する CLI 名と一致する必要があります。たとえば、 ingress.citrix.com/lbvserver: '{"app-1":{"lbmethod":"ROUNDROBIN"}}' デフォルト値

DiamantiおよびNirmata検証済みリファレンスデザインにおけるKubernetesでのCitrix ADC CPX