OpenShiftルーターシャーディングサポート付きNetScaler Ingress Controllerのデプロイ

最終公開日 : Oct 02, 2026
OpenShiftルーターシャーディングを使用すると、複数のOpenShiftルーター間で一連のルートを分散できます。デフォルトでは、OpenShiftルーターはすべてのネームスペースからすべてのルートを選択します。ルーターシャーディングでは、ルートまたはネームスペースにラベルが追加され、ルートをフィルタリングするためにルーターにラベルセレクターが追加されます。各ルーターシャードは、そのラベル選択パラメーターに一致する特定のラベルを持つルートのみを選択します。
NetScalerは2つの方法でOpenShiftと統合でき、どちらのデプロイメントもOpenShiftルーターシャーディングをサポートしています。
  • クラスター内にNetScaler Ingress ControllerとともにOpenShiftルーターとしてデプロイされたNetScaler CPX
  • クラスター外にデプロイされたNetScaler MPXまたはVPX用のルータープラグインとしてのNetScaler Ingress Controller
OpenShift上のNetScalerデプロイメントでルーターシャーディングを構成するには、シャードごとにNetScaler Ingress Controllerインスタンスが必要です。NetScaler Ingress Controllerインスタンスは、シャーディングに必要な基準に応じて、ルートまたはネームスペースのラベル、あるいはその両方を環境変数としてデプロイされます。 NetScaler Ingress Controllerがルートを処理する際、そのルートのラベルまたはルートのネームスペースのラベルを、自身に構成された選択基準と比較します。ルートが基準を満たしていれば、適切な構成がNetScalerに適用され、そうでなければ構成は適用されません。
ルーターシャーディングでは、ルート全体のプールからルートのサブセットを選択することは、選択式に基づいています。選択式は、複数の値と操作の組み合わせです。
例えば、以下の表に示すように、サービスレベルアグリーメント (sla)、地理的位置 (geo)、ハードウェア要件 (hw)、部門 (dept)、タイプ、頻度など、さまざまなラベルを持つルートがいくつかあるとします。
ラベル 値
サービスレベル 高、中、低
地理 東、西
hw 控えめ、強力
部署 財務、開発、運用
タイプ 静的、動的
頻度 高、毎週
以下の表は、ルートラベルまたはネームスペースラベルのセレクターと、例のラベルに基づいたいくつかのサンプル選択式を示しています。ルート選択基準は、環境変数 ROUTE_LABELS と NAMESPACE_LABLES を使用して NetScaler Ingress Controller で構成されます。
セレクターの種類 例
OR演算 ROUTE_LABELS='部門 in (開発, 運用)'
AND演算 ROUTE_LABELS='ハードウェア=強力,タイプ=動的,地域=西'
NOT演算 ルートラベル='dept!= finance'
完全一致 ネームスペースラベル='frequency=weekly'
ルートラベルとネームスペースラベルの両方で完全一致 ネームスペースラベル='frequency=weekly' ルートラベル='sla=low'
値に依存しないキーベースの一致 ネームスペースラベル='name'
値に依存しないキーベースの一致でのNOT操作 ネームスペースラベル='!name'
注:
ラベルセレクターは、Kubernetesラベルでサポートされている言語を使用します。
必要に応じて、後で編集することでルートまたはネームスペースのラベルを変更できます。ラベルを変更すると、ルーターシャードが再検証され、その変更に基づいてNetScaler Ingress ControllerがNetScaler上の構成を更新します。

OpenShiftルーターシャーディングでNetScaler CPXを展開する

OpenShiftルーターシャーディングでCPXを展開するには、NetScaler Operatorを使用してNetScaler CPXのサイドカーとしてNetScaler Ingress Controllerを展開するのステップ6で指定されているように、イングレスコントローラーを持つCPXを作成するためにYAML定義を編集し、以下の引数を指定する必要があります。
routeLabels: "name in (abc,xyz)"
namespaceLabels: "frequency=high"

OpenShiftルーターシャーディングサポート付きNetScaler Ingress Controllerルータープラグインを展開する

NetScaler Ingress Controllerルータープラグインをルーターシャーディングでデプロイするには、Deploy NetScaler Ingress Controller in OpenShift using NetScaler Operator のステップ6で指定されているように、NSICを作成するためにYAML定義を編集し、以下の引数を指定する必要があります。
routeLabels: "name in (abc,xyz)"
namespaceLabels: "frequency=high"

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

この例では、ラベル付きのOpenShiftルートを作成し、ルーターシャード構成を確認する方法を示します。 この例では、NetScaler 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'

ルート構成の確認

以下の手順を実行することで、NetScaler VPXでOpenShiftルート構成を確認できます。
  1. 以下の手順を実行して、NetScaler VPXにログオンします。
    • PuTTyなどのSSHクライアントを使用して、NetScaler VPXへのSSH接続を開きます。
    • 管理者資格情報を使用してNetScaler VPXにログオンします。
  2. 以下のコマンドを使用して、サービスグループが作成されているか確認します。
    show serviceGroup
  3. show serviceGroupコマンド出力でNetScaler 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