NetScaler Ingress Controller をアップグレードする

最終公開日 : Oct 02, 2026
このセクションでは、スタンドアロンデプロイとサイドカーデプロイ (NetScaler CPX と NetScaler Ingress Controller) の両方で NetScaler Ingress Controller インスタンスをアップグレードする方法について説明します。アップグレード手順により、アップグレードプロセス中にデータトラフィックが影響を受けないことが保証されます。

前提条件

  • シークレット: アップグレードされた NSIC バージョンを別の名前空間に配置する場合は、その名前空間にシークレットを配置します。
  • デプロイ名: YAML ベースのデプロイと Helm ベースのデプロイで異なる名前を使用しても、機能に影響はありません。ただし、fullnameOverride 引数を使用することで、同じ名前を保持できます。
  • Helm ベースの NSIC デプロイの場合、helm get values <release_name> -a コマンドを実行して、既存のデプロイの values.yaml を取得します。

YAML ファイルを使用してデプロイされた NSIC をアップグレードする

YAML ファイルを使用してデプロイされた NSIC インスタンスがある場合は、この手順に従って Helm チャートを使用して NSIC をアップグレードします。
  1. 既存のデプロイの CRD インスタンスをバックアップします。CRD インスタンスを YAML ファイルにバックアップするには、次のコマンドを実行します。
    for crd in $(kubectl get crds -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep 'citrix.com'); do   echo "Getting instances for CRD: $crd";   kubectl get $crd --all-namespaces -o yaml >> "all_crd_instances.yaml"; done
  2. 現在のデプロイと ConfigMap YAML ファイルに基づいて、values.yaml (スタンドアロンデプロイの場合) または values.yaml (サイドカーデプロイの場合) で正しい引数を設定します。
    注:
    • entityPrefix には一意の値を指定することをお勧めします。
    • NSIC インスタンスを特定のイングレスリソースに関連付けるために、必要に応じて ingressClass を指定することをお勧めします。
    • NSIC インスタンスを LoadBalancer タイプの特定のサービスに関連付けるために、必要に応じて serviceClass を指定することをお勧めします。
  3. 既存の NSIC デプロイメントと、既存の NSIC デプロイメントの一部として作成された ClusterRole、ClusterRoleBinding、ServiceAccount などの関連リソースを削除します。
    kubectl delete deployment <NSIC_DEPLOYMENT_NAME>
    kubectl delete clusterrole <NSIC_CLUSTERROLE_NAME>
    kubectl delete clusterrolebinding <NSIC_CLUSTERROLEBINDING_NAME
    kubectl delete serviceaccount <NSIC_SERVICEACCOUNT_NAME>
  4. Configmapを削除します。
    kubectl delete configmap <CONFIGMAP_NAME>
  5. 次のコマンドを使用して、NetScaler Helmチャートリポジトリをローカルレジストリに追加します。
    helm repo add netscaler https://netscaler.github.io/netscaler-helm-charts/
    NetScaler Helmチャートリポジトリがローカルレジストリに既に追加されている場合は、次のコマンドを使用してリポジトリを更新します。
    helm repo update netscaler
  6. 変更されたvalues.yamlを使用してNetScaler Ingress Controllerを展開します。
    helm install <existing NSIC release name deployed using YAML> netscaler/netscaler-ingress-controller -f values.yaml
  7. 次のコマンドを使用してCRD仕様を展開します。
    kubectl apply -f https://raw.githubusercontent.com/netscaler/netscaler-helm-charts/refs/heads/master/netscaler-ingress-controller/crds/crds.yaml
  8. 必要に応じて、ステップ1でバックアップされたCRDインスタンスを展開します。

Helmチャートを使用して展開されたNSICをアップグレードする

Helmチャートを使用して展開されたNSICをアップグレードするには、この手順に従ってください。
  1. 既存の展開のCRDインスタンスをバックアップします。CRDインスタンスをYAMLファイルにバックアップするには、次のコマンドを実行します。
    for crd in $(kubectl get crds -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep 'citrix.com'); do   echo "Getting instances for CRD: $crd";   kubectl get $crd --all-namespaces -o yaml >> "all_crd_instances.yaml"; done
  2. (オプション) 次のコマンドを使用して、NetScaler Helmチャートリポジトリをローカルレジストリに追加します。
    helm repo add netscaler https://netscaler.github.io/netscaler-helm-charts/
  3. NetScaler Helmチャートリポジトリがローカルレジストリに既に追加されている場合は、次のコマンドを使用してリポジトリを更新します。
    helm repo update netscaler
  4. cic.valuesをnsic.valuesに置き換えます。
  5. NSICをアップグレードするには:
    1. (オプション) 既存のNSICがCitrixリポジトリで利用可能なチャートを使用してインストールされている場合は、次の手順を実行します。それ以外の場合は、次のステップに進みます。
      • スタンドアロンNSICの場合、values.yamlを次の属性で更新します。
        • imageRepository の値を netscaler/netscaler-k8s-ingress-controller として指定します。
        • (オプション) NSIC バージョン 1.35.6 以前を 1.36.5 以降のバージョンにアップグレードするには、NetScaler Helm チャートのパラメータ命名に一致するように、cncPbr を nsncPbr に置き換えます。
        • helm get values <release_name> -a コマンドを実行し、それに応じて values.yaml ファイルを更新します。
      • サイドカーとしての NSIC の場合、values.yaml を次の属性で更新します。
        • nsic.imageRepository の値を netscaler/netscaler-k8s-ingress-controller として指定します。
        • (オプション) NSIC バージョン 1.35.6 以前を 1.36.5 以降のバージョンにアップグレードするには、NetScaler Helm チャートのパラメータ命名に一致するように、cncPbr を nsncPbr に置き換えます。
        • helm get values <release_name> -a コマンドを実行し、それに応じて values.yaml ファイルを更新します。
        注:
        • entityPrefix には一意の値を指定することをお勧めします。
        • NSIC インスタンスを特定のイングレスリソースに関連付けるために、必要に応じて ingressClass を指定することをお勧めします。
        • NSIC インスタンスを LoadBalancer タイプの特定のサービスに関連付けるために、必要に応じて serviceClass を指定することをお勧めします。
    2. 次のコマンドを実行します。
    helm upgrade netscaler-ingress-controller netscaler/netscaler-ingress-controller -f values.yaml [--version=<supported nsic version>]
    注:
    サポートされている NSIC バージョンのリストについては、このページ を参照してください。
  6. 次のコマンドを使用して CRD 仕様を展開します。
    kubectl apply -f https://raw.githubusercontent.com/netscaler/netscaler-helm-charts/refs/heads/master/netscaler-ingress-controller/crds/crds.yaml
  7. 必要に応じて、ステップ1でバックアップされたCRDインスタンスをデプロイします。