NetScaler Ingressコントローラー

Helmチャートを使用してNetScalerIngress Controller をデプロイする

NetScaler Ingress Controllerは、 [ベアメタル展開とクラウド展開に次のモードで展開できます](https://github.com/citrix/citrix-k8s-ingress-controller/tree/master/deployment/baremetal) 。

NetScaler Ingress Controller ヘルムチャートはアーティファクトハブで入手できます。

Helm チャートを使用してデプロイする場合、各パラメーターを引数として指定する代わりに、 values.yaml ファイルを使用して構成可能なパラメーターの値を指定できます。使いやすさを考慮して、 NetScalerにはNetScalerクラウドネイティブ展開用のvalues.yamlファイルを生成するためのGUIであるNetScalerデプロイビルダーが用意されています

NetScaler Ingress Controller をスタンドアロンポッドとしてKubernetesクラスターにデプロイします

Citrix入力コントローラーチャートを使用して、NetScaler入力コントローラーをKubernetesクラスターのポッドとして実行します 。このチャートでは、NetScaler Ingress ControllerをKubernetesクラスターのポッドとしてデプロイし、NetScaler VPXまたはMPXイングレスデバイスを構成します。

前提条件

  • コントローラがアプライアンスと通信するために必要な NS_IP アドレスを確認します。Citrix ADC展開のタイプに応じて、IPアドレスは次のいずれかになります。

    • (スタンドアロンアプライアンス)NSIP-スタンドアロンCitrix ADCアプライアンスの管理IPアドレス。詳しくは、「 NetScaler でのIPアドレッシング」を参照してください。

    • (高可用性モードのアプライアンス)SNIP-サブネットIPアドレス。詳しくは、「 NetScaler でのIPアドレッシング」を参照してください。

    • (クラスターモードのアプライアンス)CLIP-クラスター化されたCitrix ADC展開のクラスター管理IP(CLIP)アドレス。詳細については、「 クラスターの IP アドレス指定」を参照してください。

  • Ingressデバイスとして使用されるCitrix ADC VPXまたはMPXアプライアンスのユーザー名とパスワード。NetScaler Ingress ControllerがNetScaler VPXまたはMPXアプライアンスを構成できるように、NetScalerアプライアンスには特定の権限を持つシステムユーザーアカウント(デフォルト以外)が必要です。NetScalerでシステムユーザーアカウントを作成する手順については、「 NetScalerのNetScaler Ingress Controller用のシステムユーザーアカウントの作成」を参照してください。

    ユーザー名とパスワードを直接渡すことも、Kubernetes シークレットを使用することもできます。Kubernetes シークレットを使用する場合は、以下のコマンドを使用して、ユーザー名とパスワードのシークレットを作成します。

     kubectl create secret  generic nslogin --from-literal=username='cic' --from-literal=password='mypassword'
    

NetScalerでNetScaler Ingress Controller システムユーザーアカウントを作成します

NetScaler Ingress Controllerは、NetScalerのシステムユーザーアカウントを使用してNetScalerを構成します。NetScaler Ingress ControllerがNetScaler上で以下を構成する権限を持つためには、システムユーザーアカウントには特定の権限が必要です。

  • CS(コンテンツスイッチング)仮想サーバの追加、削除、または表示
  • CS のポリシーとアクションの設定
  • 負荷分散 (LB) 仮想サーバーの構成
  • サービスグループを構成する
  • SSL 証明書キーの構成
  • ルートの設定
  • ユーザーモニターの構成
  • システムファイルの追加 (Kubernetes から SSL 証明書キーをアップロードするため)
  • 仮想 IP アドレス (VIP) を構成する
  • Citrix ADCアプライアンスのステータスを確認する

システムユーザーアカウントを作成するには、次の手順に従います。

  1. NetScalerアプライアンスにログオンします。以下の手順に従います。
    1. PuTTY などのSSHクライアントを使用して、Citrix ADCアプライアンスへのSSH接続を開きます。

    2. 管理者の資格情報を使用して、アプライアンスにログオンします。

  2. 次のコマンドを使用して、system ユーザーアカウントを作成します。

    add system user <username> <password>
    

    例えば:

    add system user cic mypassword
    
  3. システムユーザーアカウントに必要なアクセス権限を付与するポリシーを作成します。次のコマンドを使用します:

    add cmdpolicy cic-policy ALLOW '^(\?!shell)(\?!sftp)(\?!scp)(\?!batch)(\?!source)(\?!.*superuser)(\?!.*nsroot)(\?!install)(\?!show\s+system\s+(user|cmdPolicy|file))(\?!(set|add|rm|create|export|kill)\s+system)(\?!(unbind|bind)\s+system\s+(user|group))(\?!diff\s+ns\s+config)(\?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(^install\s*(wi|wf))|(^\S+\s+system\s+file)^(\?!shell)(\?!sftp)(\?!scp)(\?!batch)(\?!source)(\?!.*superuser)(\?!.*nsroot)(\?!install)(\?!show\s+system\s+(user|cmdPolicy|file))(\?!(set|add|rm|create|export|kill)\s+system)(\?!(unbind|bind)\s+system\s+(user|group))(\?!diff\s+ns\s+config)(\?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(^install\s*(wi|wf))|(^\S+\s+system\s+file)'
    

    :システムユーザアカウントには、定義したコマンドポリシーに基づく権限が付与されます。

    手順 3 で説明したコマンドポリシーは、組み込みのsysAdminコマンドポリシーと似ており、ファイルをアップロードする権限が追加されています。

    提供されているコマンドポリシー仕様では、NetScaler コマンドラインに簡単にコピーアンドペーストできるように、エスケープする必要のある特殊文字はすでに省略されています。

    Citrix ADC構成ウィザード(GUI)からコマンドポリシーを構成するには、次のコマンドポリシー仕様を使用します。

    ^(?!shell)(?!sftp)(?!scp)(?!batch)(?!source)(?!.*superuser)(?!.*nsroot)(?!install)(?!show\s+system\s+(user|cmdPolicy|file))(?!(set|add|rm|create|export|kill)\s+system)(?!(unbind|bind)\s+system\s+(user|group))(?!diff\s+ns\s+config)(?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(^install\s*(wi|wf))|(^\S+\s+system\s+file)^(?!shell)(?!sftp)(?!scp)(?!batch)(?!source)(?!.*superuser)(?!.*nsroot)(?!install)(?!show\s+system\s+(user|cmdPolicy|file))(?!(set|add|rm|create|export|kill)\s+system)(?!(unbind|bind)\s+system\s+(user|group))(?!diff\s+ns\s+config)(?!(set|unset|add|rm|bind|unbind|switch)\s+ns\s+partition).*|(^install\s*(wi|wf))|(^\S+\s+system\s+file)
    
  4. 以下のコマンドを使用して、ポリシーをシステムユーザーアカウントにバインドします。

    bind system user cic cic-policy 0
    

NetScaler Ingress Controllerをスタンドアロンポッドとしてデプロイするには:

NetScaler Ingress Controller をスタンドアロンポッドとしてデプロイするには、NetScaler Ingress Controller アーティファクトハブに記載されている指示に従ってください。

NetScaler CPXを使用して、NetScaler Ingress Controller をサイドカーとしてKubernetesクラスターにデプロイします

citrix-cpx-with-ingress-controllerチャートを使用して、NetScaler Ingress Controller を搭載したNetScalerCPXをsidecarとして展開します。このグラフでは、Kubernetesクラスター内のマイクロサービスへのNorth-Southトラフィックの負荷分散に使用されるCitrix ADC CPXインスタンスが展開されます。サイドカーのNetScaler Ingress Controller がNetScaler CPXを構成します。

NetScaler CPXをNetScaler Ingress Controller をサイドカーとしてデプロイするには、NetScaler Ingress Controller Helm Hubに記載されている指示に従ってください。

Helmチャートを使用してNetScalerIngress Controller をデプロイする