Jump to content
Welcome to our new Citrix community!
  • Automate Ingress Proxy configuration using Ingress Controller in Kubernetes cluster


    Mayur Patil
    • Validation Status: Work In Progress
      Summary: See how does Citrix Ingress Controller automate the NetScaler configuration for microservice bases applications delivery.
      Has Video?: No

    An Ingress Controller is a controller monitors the Kubernetes API server for updates to the Ingress resource and configures the Ingress load balancer accordingly.

    Citrix has developed an open-source Ingress controller called as Citrix Ingress Controller (CIC) deployed in a Kubernetes cluster to automate the NetScaler's configurations. CIC can configure all NetScaler form factors (MPX/SDX/VPX/BLX/CPX).

    Citrix Ingress Controller supports the following deployments options:

    • A sidecar container for configuring Tier 2 Ingress proxy (NetScaler CPX proxy).
    • Standalone deployment configuring Tier 1 external Ingress proxy (MPX/SDX/BLX/VPX).

    Note: This tutorial is for learning the basics of CIC deployment modes. For more information on end to end example, see getting started guides.

    Prerequisite: Kubernetes cluster (Following example is tested in an on-premises v1.22.1 K8s cluster).

    1. Deploy the CIC as a sidecar with NetScaler CPX proxy.

      kubectl create -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/cpx.yamlkubectl get pods -l app=cpx-ingress

      There are two containers running in the same pod highlighted by 2/2 in the READY column. One container is for NetScaler CPX proxy and another container is for CIC. The details of both containers are the following.

      kubectl describe pod $(kubectl get pods -l app=cpx-ingress | awk ‘{print $1}’ | grep cpx-ingress)

    2. Deploy CIC for configuring Tier 1 NetScaler VPX.

      wget https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/tier1-cic.yaml

    3. Update the NS_IP environment variable in the tier1-cic yaml file with NetScaler management IP.

    4. Deploy CIC in K8s cluster.

      kubectl create -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/tier1-cic.yamlkubectl get pods -l app=cic-k8s-ingress-controllerkubectl describe pod <pod name>

    5. Verify the CIC logs.

      kubectl logs -f <pod name>

    6. Clean up the K8s cluster.

      kubectl delete -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/cpx.yamlkubectl delete -f https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/beginners-guide/manifest/tier1-cic.yaml

    For more information on all supported options for the Citrix Ingress controller, see Modern App deployment YAML manifest details.

    For more information on the Citrix ingress controller, see the Citrix ingress controller documentation.

    For more tutorials, see beginners-guides.


    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...