NetScaler ingress controller

Deploy the NetScaler Ingress Controller on a Rancher managed Kubernetes cluster

Rancher is an open-source platform with an intuitive user interface that helps you to easily deploy and manage Kubernetes clusters. Rancher supports Kubernetes clusters on any infrastructure be on cloud or on-premises deployment. Rancher also allows you to centrally manage multiple clusters running across your organization.

The NetScaler Ingress Controller is built around the Kubernetes Ingress and it can automatically configure one or more NetScalers based on the Ingress resource configuration. You can deploy the NetScaler Ingress Controller in a Rancher managed Kubernetes cluster to extend the advanced load balancing and traffic management capabilities of NetScaler to your cluster.

Prerequisites

You must create a Kubernetes cluster and import the cluster on the Rancher platform.

Deployment options

You can either deploy NetScaler CPXs as pods inside the cluster or deploy a NetScaler MPX or VPX appliance outside the Kubernetes cluster.

Based on how you want to use NetScaler, there are two ways to deploy the NetScaler Ingress Controller in a Kubernetes cluster on the Rancher platform:

  • As a sidecar container alongside NetScaler CPX in the same pod: In this mode, NetScaler Ingress Controller configures the NetScaler CPX.

  • As a standalone pod in the Kubernetes cluster: In this mode, you can control the NetScaler MPX or VPX appliance deployed outside the cluster.

Deploy the NetScaler Ingress Controller as a sidecar with NetScaler CPX

In this deployment, you can use the NetScaler CPX instance for load balancing the North-South traffic to microservices in your Kubernetes cluster. NetScaler Ingress Controller is deployed as a sidecar alongside the NetScaler CPX container in the same pod using the citrix-k8s-cpx-ingress.yaml file.

Perform the following steps to deploy the NetScaler Ingress Controller as a sidecar with NetScaler CPX on the Rancher platform.

  1. Download the citrix-k8s-cpx-ingress.yaml file using the following command.

    wget  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/baremetal/citrix-k8s-cpx-ingress.yml
    
  2. On the Rancher GUI cluster page, select Clusters from Global view.
  3. From the Clusters page, open the cluster that you want to access.
  4. Click Launch kubectl to open a terminal for interacting with your Kubernetes cluster.
  5. Create a file named cpx.yaml in the launched terminal and then copy the contents of the modified citrix-k8s-cpx-ingress.yaml file to the cpx.yaml file.
  6. Deploy the newly created YAML file using the following command.

        kubectl create -f cpx.yaml
    
  7. Verify if NetScaler Ingress Controller is deployed successfully using the following command.

    kubectl get pods --all-namespaces
    

Deploy the NetScaler Ingress Controller as a standalone pod

In this deployment, NetScaler Ingress Controller which runs as a stand-alone pod allows you to control the NetScaler MPX, or VPX appliance from the Kubernetes cluster. You can use the citrix-k8s-ingress-controller.yaml file for this deployment.

Before you begin: Ensure that you complete all the prerequisites required for deploying the NetScaler Ingress Controller.

To deploy the NetScaler Ingress Controller as a standalone pod on the Rancher platform:**

  1. Download the citrix-k8s-ingress-controller.yaml file using the following command:

    wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/baremetal/citrix-k8s-ingress-controller.yaml
    
  2. Edit the citrix-k8s-ingress-controller.yaml file and enter the values of the environment variable using the information in Deploy NetScaler Ingress Controller as a pod.

    Note: To update the Status.LoadBalancer.Ingress field of the Ingress resources managed by the NetScaler Ingress Controller with the allocated IP addresses, you must specify the command line argument --update-ingress-status yes when you start the NetScaler Ingress Controller. For more information, see Updating the Ingress status for the Ingress resources with the specified IP address.

  3. On the Rancher GUI cluster page, select Clusters from Global view.
  4. From the Clusters page, open the cluster that you want to access.
  5. Click Launch kubectl to open a terminal for interacting with your Kubernetes cluster.
  6. Create a file named cic.yaml in the launched terminal and then copy the content of the modified citrix-k8s-ingress-controller.yaml file to cic.yaml.
  7. Deploy the cic.yaml file using the following command.

    kubectl create -f cic.yaml
    
  8. Verify if the NetScaler Ingress Controller is deployed successfully using the following command.

    kubectl get pods --all-namespaces
    
Deploy the NetScaler Ingress Controller on a Rancher managed Kubernetes cluster