Getting started

Network administrators who have access to NetScaler (MPX/VPX/BLX) and Kubernetes environment can deploy NetScaler Kubernetes Gateway Controller in Kubernetes.

Prerequisites

  • You have installed the Kubernetes cluster.
  • You have installed Helm version 3.x or later. To install Helm, see Helm charts.
  • You have Installed the Gateway API CRDs from the official standard channel.

How to deploy NetScaler® Kubernetes Gateway Controller in a Kubernetes cluster

To deploy NetScaler Kubernetes Gateway Controller in a Kubernetes Cluster configuring NetScaler MPX, VPX, or BLX, perform the following steps:

  1. Generate values.yaml based on your use case. For information about the mandatory and optional parameters that you can configure during NetScaler Kubernetes Gateway Controller installation, see Configurations.

    netscaler:
      adcCredentialSecret: "nslogin"
      nsIP: "<nsIP>" # NetScaler Management IP or SNIP with management access enabled for HAor CLIP for 
                     # NetScaler Cluster
    gatewayController:
      entityPrefix: gwy
      gatewayControllerName: "citrix.com/nsgw-controller"
    license:
      accept: yes
    <!--NeedCopy-->
    

    The user name and password of a system user account on NetScaler MPX or NetScaler VPX are required for the Kubernetes Gateway. Ensure that NetScaler has a non-default system user account with the necessary privileges to allow the NetScaler Kubernetes Gateway Controller to configure NetScaler MPX or VPX. For instructions on creating a system user account on NetScaler, refer Create a system user account for NetScaler Ingress Controller in NetScaler.

    You can provide the user name and password directly or use Kubernetes secrets. To use Kubernetes secrets, create a secret for the user name and password with the following command:

    kubectl create secret  generic nslogin --from-literal=username=<username> --from-literal=password=<password>
    <!--NeedCopy-->
    

    Note:

    entityPrefix and gatewayControllerName are mandatory and must be unique for every deployment of NetScaler Kubernetes Gateway Controller.

  2. Deploy the NetScaler Kubernetes Gateway controller using the Helm charts and the values.yaml generated in previous step. For more information, see NetScaler Kubernetes Gateway Controller deployment using Helm Chart.

    helm repo add netscaler https://netscaler.github.io/netscaler-helm-charts/
    helm install gateway-controller netscaler/netscaler-kubernetes-gateway-controller -f values.yaml
    <!--NeedCopy-->
    
  3. Verify the installation.

    kubectl get pods
    <!--NeedCopy-->
    
  4. (Optional) View the summary of the NetScaler Kubernetes Gateway Controller pod.

    kubectl describe pod <pod name>
    <!--NeedCopy-->
    

    Example:

    kubectl describe pod netscaler-kubernetes-gateway-controller-5678d66d9b-nqp6p
    <!--NeedCopy-->
    
  5. (Optional) Check the NetScaler Kubernetes Gateway Controller logs.

    kubectl logs -f <pod name>
    <!--NeedCopy-->
    

    Example:

    kubectl logs -f netscaler-kubernetes-gateway-controller-5678d66d9b-nqp6p
    <!--NeedCopy-->
    
  6. (Optional) Delete the installation.

    helm uninstall netscaler-kubernetes-gateway-controller
    <!--NeedCopy-->
    

How to deploy NetScaler CPX with NetScaler Kubernetes Gateway Controller in a Kubernetes cluster

To deploy NetScaler Kubernetes Gateway Controller in a Kubernetes Cluster configuring NetScaler CPX, perform the following steps:

  1. Generate values.yaml based on your use case. For information about the mandatory and optional parameters that you can configure during NetScaler CPX with Kubernetes Gateway Controller installation, see Configurations.

    gatewayController:
        entityPrefix: gwy
        gatewayControllerName: "citrix.com/nscpxgw-controller"
    license:
        accept: yes
    service:
        annotations: {}
        spec:
            type: NodePort
            ports:
            - port: 80
                targetPort: 80
                protocol: TCP
                name: http
            - port: 443
                targetPort: 443
                protocol: TCP
                name: https
    <!--NeedCopy-->
    

    Note:

    entityPrefix and gatewayControllerName are mandatory and must be unique for every deployment of NetScaler CPX with Kubernetes Gateway Controller.

  2. Deploy the NetScaler CPX with Kubernetes Gateway controller using the Helm charts and the values.yaml generated in previous step. For more information, see NetScaler CPX with Kubernetes Gateway Controller deployment using Helm Chart.

    helm repo add netscaler https://netscaler.github.io/netscaler-helm-charts/
    helm install cpx-gateway-controller netscaler/netscaler-cpx-with-gateway-controller  -f values.yaml
    <!--NeedCopy-->
    
  3. Verify the installation.

    kubectl get pods
    <!--NeedCopy-->
    
  4. (Optional) View the summary of the NetScaler Kubernetes Gateway Controller pod.

    kubectl describe pod <pod name>
    <!--NeedCopy-->
    

    Example:

    kubectl describe pod cpx-gateway-controller-netscaler-cpx-with-gateway-controllz6ghg
    <!--NeedCopy-->
    
  5. (Optional) Check the NetScaler Kubernetes Gateway Controller logs.

    kubectl logs -f <pod name> -c nskgwc
    <!--NeedCopy-->
    

    Example:

    kubectl logs -f cpx-gateway-controller-netscaler-cpx-with-gateway-controllz6ghg -c nskgwc
    <!--NeedCopy-->
    
  6. (Optional) Delete the installation.

    helm uninstall cpx-gateway-controller
    <!--NeedCopy-->
    

What’s next

Getting started