NetScaler ingress controller

Getting started

This guide helps you to quickly evaluate NetScaler Ingress Controller for Kubernetes if you are new to NetScaler Ingress Controller. If you are an advanced user, see What is Next.

Before you begin

Ensure that you have installed and set up a Minikube cluster.

Getting started with NetScaler Ingress Controller

In this procedure you perform the following steps:

  • Deploy NetScaler CPX (a containerized version of NetScaler) along with ingress controller
  • Deploy Guestbook, a sample application
  • Deploy Ingress rules to route traffic to the Guestbook application
  • Send some traffic to the application and verify

Deploy NetScaler CPX with NetScaler Ingress Controller

Perform the following to deploy NetScaler CPX with NetScaler Ingress Controller.

  1. Deploy NetScaler CPX as an Ingress proxy in the Minikube cluster.

      kubectl create -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/cpx.yaml
    
  2. Verify the installation using the following command.

      kubectl get pods -l app=cpx-ingress
    

Deploy a sample application

In this step, you deploy Guestbook which is a multi-tier PHP-based web application that uses Redis.

  1. Deploy the Guestbook application in Minikube.

    kubectl create -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/guestbook-app.yaml
    
  2. Verify the installation using the following:

    kubectl get pods -l 'app in (guestbook, redis)'
    

Deploy an Ingress for the sample application

To deploy ingress rules for the sample application and verify the functionality, perform the following steps.

  1. Deploy an Ingress rule that sends traffic to the Guestbook application(http://www.guestbook.com).

    kubectl create -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/guestbook-ingress.yaml
    
  2. Verify the Ingress deployment using the following command.

    kubectl get ingress
    
  3. Display information about the service using the following command.

    kubectl get svc cpx-service
    
    # kubectl get service cpx-service
    
    NAME           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
    
    cpx-service    NodePort    10.106.123.144   <none>        80:30592/TCP,443:31338/TCP   43m
    

    You can get the NodePort information from this example, 30592 and 31338 are NodePorts.

  4. Send traffic to the Guestbook microservice application and verify that traffic to this URL gets the Guestbook page:

    curl -s -H \"Host: www.guestbook.com\" http://<MiniKube-IP-address>:<NodePort> | grep Guestbook
    

    Expected output:

    <title>Guestbook</title>
      <h2>Guestbook</h2>
    

Note:

You can get the Minikube IP address using the minikube ip command. You can also use the minikube service cpx-service --url command to directly get the URL used in the cURL command.

What is next

The getting started section helps a beginner to evaluate NetScaler Ingress Controller quickly and the installation covers only the basic functionality. You can see the following topics for comprehensive information on deploying NetScaler Ingress Controller and customize your installation accordingly.

  • Deployment topologies: Provides information on various topologies supported by NetScaler Ingress Controller.
  • Supported platforms: Provides information about the different platforms supported including bare metal and cloud platforms.
  • Deploy NetScaler Ingress Controller: Provides information on how to deploy NetScaler Ingress Controller for different flavors of NetScaler like NetScaler CPX, VPX, and MPX.
Getting started