Ingress Controller de Citrix ADC

Implementar el Citrix Ingress Controller en un clúster de Azure Kubernetes Service con Citrix ADC VPX

En este tema se explica cómo implementar el Citrix Ingress Controller de Citrix con Citrix ADC VPX en un clúster de Azure Kubernetes Service (AKS). También puede configurar el clúster de Kubernetes en las máquinas virtuales de Azure y, a continuación, implementar el Citrix Ingress Controller de Citrix con Citrix ADC VPX.

El procedimiento para implementar tanto para AKS como para Azure VM es el mismo. Sin embargo, si configura Kubernetes en máquinas virtuales de Azure, debe implementar el complemento CNI para el clúster de Kubernetes.

Requisitos previos

Debe completar las siguientes tareas antes de realizar los pasos del procedimiento.

  • Asegúrese de tener un clúster de Kubernetes en funcionamiento.

    Nota:

    Para obtener más información sobre la creación de un clúster de Kubernetes en AKS, consulte la Guía para crear un clúster de AKS.

Topología

A continuación se muestra la topología de ejemplo que se utiliza en esta implementación.

de un solo nivel

Obtenga una instancia de Citrix ADC VPX de Azure Marketplace

Puede crear Citrix ADC VPX desde Azure Marketplace. Para obtener más información sobre cómo crear una instancia de Citrix ADC VPX desde Azure Marketplace, consulte Obtener Citrix ADC VPX de Azure Marketplace.

Obtenga el Citrix Ingress Controller de Azure Marketplace

Para implementar el Citrix Ingress Controller, se debe crear un registro de imágenes en Azure y se debe usar la URL de la imagen correspondiente para obtener la imagen del Citrix Ingress Controller.

Para obtener más información sobre cómo crear un registro y obtener la URL de la imagen, consulte Obtener el Citrix Ingress Controller de Azure Marketplace.

Una vez que se crea un registro, el nombre del registro del Citrix Ingress Controller debe adjuntarse al clúster de AKS utilizado para la implementación.

    az aks update -n <cluster-name> -g <resource-group-where-aks-deployed> --attach-acr <cic-registry>

Implementar Citrix Ingress Controller

Realice los siguientes pasos para implementar el Citrix Ingress Controller.

  1. Cree las credenciales de inicio de sesión de Citrix ADC VPX mediante el secreto de Kubernetes.

    kubectl create secret  generic nslogin --from-literal=username='<azure-vpx-instance-username>' --from-literal=password='<azure-vpx-instance-password>'
    

    Nota:

    El nombre de usuario y la contraseña de Citrix ADC VPX deben coincidir con las credenciales establecidas al crear Citrix ADC VPX en Azure.

  2. Mediante SSH, configure un SNIP en Citrix ADC VPX, que es la dirección IP secundaria de Citrix ADC VPX. Este paso es necesario para que Citrix ADC interactúe con los pods dentro del clúster de Kubernetes.

    add ns ip <snip-vpx-instance-private-ip> <vpx-instance-primary-ip-subnet>
    
    • snip-vpx-instance-private-ip es la dirección IP privada dinámica que se asigna al agregar un SNIP durante la creación de la instancia de Citrix ADC VPX.

    • vpx-instance-primary-ip-subnet es la subred de la dirección IP privada principal de la instancia de Citrix ADC VPX.

    Para verificar la subred de la dirección IP privada, use SSH en la instancia de Citrix ADC VPX y use el siguiente comando.

      show ip <primary-private-ip-addess>
    
  3. Actualice la URL de la imagen de Citrix ADC VPX, la IP de administración y la VIP en el archivo YAML del Citrix Ingress Controller.

    1. Descargue el archivo YAML Citrix Ingress Controller.

      wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/cic.yaml
      

      Nota:

      Si no lo ha wget instalado, puede usar el comando curl fetch o.

    2. Actualice la imagen del Citrix Ingress Controller con la URL de la imagen de Azure en el archivo cic.yaml.

      - name: cic-k8s-ingress-controller
        # CIC Image from Azure
        image: "<azure-cic-image-url>"
      
    3. Actualice la dirección IP principal de Citrix ADC VPX cic.yaml en el siguiente campo con la dirección IP privada principal de la instancia de Azure VPX.

          # Set NetScaler NSIP/SNIP, SNIP in case of HA (mgmt has to be enabled)
          - name: "NS_IP"
          value: "X.X.X.X"
      
    4. Actualice la VIP de Citrix ADC VPX cic.yaml en el siguiente campo con la dirección IP privada de la VIP asignada durante la creación de la instancia de Azure VPX.

      # Set NetScaler VIP for the data traffic
      - name: "NS_VIP"
        value: "X.X.X.X"
      
  4. Una vez que haya configurado el Citrix Ingress Controller con los valores requeridos, implemente el Citrix Ingress Controller mediante el siguiente comando.

       kubectl create -f cic.yaml
    

Comprobar la implementación mediante una aplicación de ejemplo

  1. Implemente la aplicación requerida en su clúster de Kubernetes y expóngala como un servicio en su clúster con el siguiente comando.

    kubectl create -f  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/apache.yaml
    
  2. Cree el recurso Ingress con el siguiente comando.

    kubectl create -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/azure/manifest/azurecic/ingress.yaml
    
  3. Para validar su implementación, use el siguiente comando.

    $ curl --resolve citrix-ingress.com:80:<Public-ip-address-of-VIP> http://citrix-ingress.com
    <html><body><h1>It works!</h1></body></html>
    

    La respuesta se recibe del microservicio de muestra (Apache) que se encuentra dentro del clúster de Kubernetes. Citrix ADC VPX ha equilibrado la carga de la solicitud.

Implementar el Citrix Ingress Controller en un clúster de Azure Kubernetes Service con Citrix ADC VPX