Citrix ADC ingress controller

OpenShift ルーターのシャーディングをサポートする Citrix ingress controller をデプロイする

OpenShift ルーターのシャーディングにより 、複数の OpenShift ルーター間で一連のルートを分散できます。デフォルトでは、OpenShift ルーターはすべての名前空間からすべてのルートを選択します。ルーターシャーディングでは、ルートまたは名前空間にラベルが追加され、ルートをフィルタリングするためにラベルセレクターがルーターに追加されます。各ルーターシャードは、ラベル選択パラメーターと一致する特定のラベルを持つルートのみを選択します。

Citrix ADC は 2 つの方法で OpenShift と統合でき、どちらのデプロイメントでも OpenShift ルーターシャーディングがサポートされています。

  • Citrix ADC CPX は、クラスター内に Citrix ingress controller とともに OpenShift ルーターとしてデプロイされます
  • クラスター外に展開されたCitrix ADC MPXまたはVPXのルータープラグインとしてのCitrix Ingressコントローラー

OpenShift 上の Citrix ADC デプロイメント用にルーターシャーディングを構成するには、シャードごとに Citrix ingress controller インスタンスが必要です。Citrix ingress controller インスタンスは、シャーディングに必要な条件に応じて、ルートまたは名前空間のラベル、あるいはその両方を環境変数としてデプロイします。 Citrix ingress controller はルートを処理するときに、ルートのラベルまたはルートの名前空間ラベルを、そのルートに構成された選択基準と比較します。ルートが基準を満たす場合、適切な構成がCitrix ADCに適用されます。それ以外の場合は構成が適用されません。

ルーターシャーディングでは、ルートのプール全体からルートのサブセットを選択するのは、選択式に基づきます。選択式は、複数の値と演算を組み合わせたものです。

たとえば、次の表に示すように、サービスレベルアグリーメント (SLA)、地理的位置 (geo)、ハードウェア要件 (hw)、部門 (dept)、タイプ、頻度など、さまざまなラベルが付いたルートがあるとします。

ラベル
sla 高、中、低
ジオ 東、西
hw 控えめで強い
部署 財務、開発、運用
type 静的、動的
frequency 高、毎週

次の表に、ルートラベルまたは名前空間ラベルのセレクターと、この例のラベルに基づいた選択式の例をいくつか示します。ルート選択条件は、環境変数 ROUTE_LABELS と NAMESPACE_LABLES を使用して、Citrix ingress controller で構成されます。

セレクタの種類
OR 演算 route_labels= ‘部署内 (開発、運用) ‘
AND オペレーション ROUTE_LABELS=’hw=strong,type=dynamic,geo=west’
NOT オペレーション ROUTE_LABELS=’dept!= finance’
完全一致 NAMESPACE_LABELS=’frequency=weekly’
ルートラベルと名前空間ラベルの両方に完全一致 NAMESPACE_LABELS=’frequency=weekly’ ROUTE_LABELS=’sla=low’
値に依存しないキーベースのマッチング NAMESPACE_LABELS=’name’
値に依存しないキーベースのマッチングによる NOT 操作 NAMESPACE_LABELS=’!name’

注:

ラベルセレクターは Kubernetes ラベルでサポートされている言語を使用します。

ルートまたは名前空間のラベルは、後で編集して変更できます。ラベルを変更すると、ルーターシャードが再検証され、その変更に基づいてCitrix ingress controller がCitrix ADC 構成を更新します。

OpenShift ルーターシャーディングで Citrix ADC CPX をデプロイする

OpenShift ルーターシャーディングをサポートする CPX をデプロイするには、以下の手順を実行します。

  1. 以下のコマンドを使用して cpx_cic_side_car.yaml ファイルをダウンロードします。

     wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/openshift/manifest/cpx_cic_side_car.yaml
    
  2. cpx_cic_side_car.yaml ファイルを編集し、ルートラベルと名前空間ラベルセレクターを環境変数として指定します。

    次の例は、サンプルルートラベルと namespaceラベルをcpx_cic_side_car.yamlファイルに指定する方法を示しています。この例では、ラベル「name」の値が abc または xyz で、名前空間ラベルが frequency=high であるルートを選択します。

            env:    
            - name: "ROUTE_LABELS"
              value: "name in (abc,xyz)"
            - name: "NAMESPACE_LABELS"
              value: "frequency=high"       
    
  3. 次のコマンドを使用して、Citrix ingress controller を展開します。

    oc create -f cpx_cic_side_car.yaml
    

OpenShift ルーターシャーディングをサポートする Citrix ingress controller ルータープラグインをデプロイ

ルーターシャーディングを使用してCitrix ingress controller ルータープラグインを展開するには、次の手順に従います。

  1. 以下のコマンドを使用して cic.yaml ファイルをダウンロードします。

    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/openshift/manifest/cic.yaml
    
  2. cic.yaml ファイルを編集し、ルートラベルと名前空間ラベルセレクターを環境変数として指定します。

    次の例は、サンプルルートラベルと namespaceラベルをcic.yamlファイルに指定する方法を示しています。この例では、ラベル「name」の値が abc または xyz で、名前空間ラベルが frequency=high であるルートを選択します。

            env:
            - name: "ROUTE_LABELS"
              value: "name in (abc,xyz)"
            - name: "NAMESPACE_LABELS"
              value: "frequency=high"
    
  3. 次のコマンドを使用して、Citrix ingress controller を展開します。

    oc create -f cic.yaml
    

例: OpenShift ルートを作成し、Citrix ADC VPX でルート構成を確認する

この例では、ラベル付きの OpenShift ルートを作成し、ルーターシャード設定を確認する方法を説明します。 この例では、 Citrix ADC VPX展開でルート構成が検証されます

ラベル付きのサンプルルートを作成するには、次の手順を実行します。

  1. YAML ファイルでルートを定義します。以下は、route.yamlという名前のサンプルルートの例です 。

    apiVersion: v1
    kind: Route
    metadata:
        name: web-backend-route
        namespace: default
        labels:
            sla: low
            name: abc
    spec:
        host: web-frontend.cpx-lab.org
        path: "/web-backend"
        port:
            targetPort: 80
        to:
            kind: Service
            name: web-backend
    
  2. 以下のコマンドを使用してルートをデプロイします。

    oc create -f route.yaml
    
  3. ルートを作成するネームスペースにラベルを追加します。

    oc label namespace default 'frequency=high'
    

ルート設定の検証

Citrix ADC VPXでOpenShiftルート構成を確認するには、次の手順を実行します。

  1. Citrix ADC VPXにログオンするには、次の手順に従います。

    • PuTTYなどのSSHクライアントを使用して、Citrix ADC VPXへのSSH接続を開きます。
    • 管理者の資格情報を使用してCitrix ADC VPXにログオンします。
  2. 次のコマンドを使用して、サービスグループが作成されているか確認します。

    show serviceGroup 
    
  3. show serviceGroup コマンド出力で、Citrix ADC VPX ルート構成を確認します。

    show serviceGroup コマンド出力からのルート設定の例を次に示します。

    > show serviceGroup
    k8s-web-backend-route_default_80_k8s-web-backend_default_80_svc - HTTP
    State: ENABLED  Effective State: DOWN Monitor Threshold : 0
    Max Conn: 0     Max Req: 0 Max Bandwidth: 0 kbits
    Use Source IP: NO    
    Client Keepalive(CKA): NO
    TCP Buffering(TCPB): NO
    HTTP Compression(CMP): NO
    Idle timeout: Client: 180 sec    Server: 360 sec
    Client IP: DISABLED 
    Cacheable: NO
    SC: OFF
    SP: OFF
    Down state flush: ENABLED
    Monitor Connection Close : NONE
    Appflow logging: ENABLED
    ContentInspection profile name: ???
    Process Local: DISABLED
    Traffic Domain: 0
    
OpenShift ルーターのシャーディングをサポートする Citrix ingress controller をデプロイする