NetScaler ingress controller

Upgrade NetScaler Operator

To upgrade NetScaler Operator to version 3.1.2 from earlier versions, perform the following steps:

  1. Back up YAMLs of all the installed controllers, such as NSIC, GSLB, and NSOE, by using the following command:

    for crd in $(oc get crds -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep 'netscaler.com'); do echo "Getting instances for CRD: $crd"; oc get $crd --all-namespaces -o yaml >> "all_controller_crd_instances.yaml"; done
    <!--NeedCopy-->
    
  2. Back up the citrix.com CRD instances managed by NSIC and GSLB controller to a YMAL file by using the following command:

    for crd in $(oc 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_citrix_crd_instances.yaml"; done
    <!--NeedCopy-->
    
  3. Remove citrix.com CRDs by using the following command:

    $(oc get crds -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep 'citrix.com'); do oc delete crd $crd; done
    <!--NeedCopy-->
    
  4. Delete all the controller instances within NetScaler Operator.

    Important

    The Delete all operand instances for this operator option displayed as part of the Operator deletion workflow might not work sometimes and some residual components are not deleted. Follow the steps mentioned here to avoid conflicts.

    1. Navigate to Operators > Installed Operators and click NetScaler Operator.

      NetScaler Ingress Controller Operator

    2. Click All instances to list all the controller instances.

    3. To delete each controller instance, click the ellipses icon next to a controller and then click Delete.

      In the following example, a NetScaler CPX with NetScaler Ingress Controller instance is deleted.

      NetScaler Ingress Controller Operator

    4. Click Delete to confirm deleteion.

  5. Remove netscaler.com CRDs of NetScaler Operator (NSIC, NSIC+CPX, and NSOE) by using the following command:

    for crd in $(oc get crds -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep 'netscaler.com'); do echo "Deleting CRD: $crd" oc delete crd $crd done
    <!--NeedCopy-->
    
  6. To uninstall NetScaler Operator, navigate to Operators > Installed Operators, click the ellipses icon next to NetScaler Ingress Controller Operator, and then click Uninstall Operator.

    NetScaler Ingress Controller Operator

  7. Click Uninstall to confirm uninstallation.

    NetScaler Ingress Controller Operator

  8. Convert the controller YAMLs you backed up in step 1 to the new schema introduced in NetScaler Operator 3.1.2. To do so, for each parameter in the controller YAML, check the respective modified parameter in the new schema and update the YAMLs accordingly. For information on parameters in NetScaler Operator version 3.1.2, see NetScaler Operator.

  9. Deploy NetScaler Operator. For information on deploying NetScaler Operator, see Deploy NetScaler Operator.

  10. Install the controllers one after the other with the YAMLs updated in step 8. For more information, see NetScaler Operator.

  11. Install the CRDs backed up in step 2 by using the following command:

    oc apply -f all_citrix_crd_instances.yaml
    <!--NeedCopy-->
    
Upgrade NetScaler Operator

In this article