Application Delivery Management

Administrar la configuración de Kubernetes Ingress en Citrix ADM

Kubernetes (K8) es una plataforma de orquestación de contenedores de código abierto que automatiza la implementación, el escalado y la administración de aplicaciones nativas en la nube.

Kubernetes proporciona la función de ingreso que permite que el tráfico de clientes fuera del clúster acceda a los microservicios de una aplicación que se ejecuta dentro del clúster de Kubernetes. Las instancias ADC pueden actuar como la entrada a aplicaciones que se ejecutan dentro de un clúster de Kubernetes. Las instancias ADC pueden equilibrar la carga y enrutar el contenido del tráfico Norte-Sur desde los clientes a cualquier microservicios dentro del clúster de Kubernetes.

Nota

  • Citrix ADM admite la función Ingress en los clústeres con Kubernetes versión 1.14 y superior.
  • Citrix ADM admite dispositivos Citrix ADC VPX y MPX como dispositivos de ingreso.
  • En el entorno de Kubernetes, la carga de instancia de Citrix ADC equilibra solo el tipo de servicio “NodePort”.

Puede configurar varias instancias ADC para que actúen como dispositivos de ingreso en el mismo clúster o en distintos clústeres o espacios de nombres. Después de configurar las instancias, puede asignar cada instancia a diferentes aplicaciones según la directiva Ingress.

Puede crear e implementar una configuración de Ingress mediante Kuberneteskubectl o API. También puede configurar e implementar una entrada desde Citrix ADM.

Puede especificar los siguientes aspectos de la integración de Kubernetes en ADM:

  • Cluster: Puede registrar o anular el registro de clústeres Kubernetes para los que ADM puede implementar configuraciones de ingreso. Cuando registre un clúster en Citrix ADM, especifique la información del servidor de la API de Kubernetes. A continuación, seleccione un agente ADM que pueda llegar al clúster de Kubernetes e implementar configuraciones de Ingress.

  • Directivas: Las directivas de ingreso se utilizan para seleccionar la instancia ADC basada en el clúster o el espacio de nombres para implementar una configuración de ingreso. Especifique la información del clúster, el sitio y la instancia al agregar una directiva.

  • Configuración de ingreso: Esta configuración es la configuración de ingreso de Kubernetes, que incluye las reglas de conmutación de contenido y las rutas URL correspondientes de los microservicios y sus puertos. También puede especificar los certificados SSL/TLS (para descargar el procesamiento SSL en la instancia ADC) mediante los recursos secretos de Kubernetes.

Citrix ADM asigna automáticamente las configuraciones de ingreso a instancias de ADC mediante directivas de ingreso.

Para cada configuración correcta de Ingress, Citrix ADM genera un StyleBook ConfigPack. El ConfigPack representa la configuración ADC aplicada a la instancia de ADC que corresponde a la configuración de Ingress. Para ver el ConfigPack, vaya a Aplicaciones > StyleBooks > Configuraciones.

Antes de comenzar

Para utilizar instancias de Citrix ADC como dispositivos de ingreso en clústeres de Kubernetes, asegúrese de que dispone de:

  • Kubernetes agrupamiento en su lugar.

  • Cluster Kubernetes registrado en Citrix ADM.

Configurar Citrix ADM con un token secreto para administrar un clúster de Kubernetes

Para que Citrix ADM pueda recibir eventos de Kubernetes, debe crear una cuenta de servicio en Kubernetes para Citrix ADM. Además, configure la cuenta de servicio con los permisos RBAC necesarios en el clúster.

  1. Cree una cuenta de servicio para Citrix ADM. Por ejemplo, el nombre de la cuenta de servicio puede sercitrixadm-sa. Para crear una cuenta de servicio, consulte Usar varias cuentas de servicio.

  2. Utilice elcluster-admin rol para enlazar la cuenta de servicio Citrix ADM. Este enlace otorga una cuenta de servicioClusterRole en todo el clúster. El siguiente es un comando de ejemplo para enlazar uncluster-admin rol a la cuenta de servicio.

    kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-sa
    <!--NeedCopy-->
    

    Después de vincular la cuenta de servicio Citrix ADM a lacluster-admin función, la cuenta de servicio tiene acceso a todo el clúster. Para obtener más información, consulte [kubectl create clusterrolebinding] (https://kubernetes.io/docs/reference/access-authn-authz/rbac/#kubectl-create-clusterrolebinding).

  3. Obtenga el token de la cuenta de servicio creada.

    Por ejemplo, ejecute el siguiente comando para ver el token de la cuentacitrixadm-sa de servicio:

    kubectl describe sa citrixadm-sa
    <!--NeedCopy-->
    
  4. Ejecute el siguiente comando para obtener la cadena secreta del token:

    kubectl describe secret <token-name>
    <!--NeedCopy-->
    

Agregar el clúster de Kubernetes en Citrix ADM

Después de configurar un agente Citrix ADM y configurar rutas estáticas, debe registrar el clúster de Kubernetes en Citrix ADM.

Para registrar el clúster Kubernetes:

  1. Inicie sesión en Citrix ADM con credenciales de administrador.

  2. Vaya a Orchestration > Kubernetes > Clúster. Se muestra la página Clusters.

  3. Haga clic en Agregar.

  4. En la página Agregar Cluster, especifique los siguientes parámetros:

    1. Nombre: Especifique un nombre de su elección.

    2. URL del servidor API - Puede obtener los detalles de la URL del servidor API desde el nodo principal de Kubernetes.

      1. En el nodo principal de Kubernetes, ejecute el comando kubectl cluster-info.

        URL del servidor API

      2. Introduzca la URL que aparece para “Kubernetes master se está ejecutando en. “

    3. Token de autenticación : especifique la cadena de token de autenticación que se obtiene al configurar Citrix ADM para administrar un clúster de Kubernetes. El token de autenticación es necesario para validar el acceso para la comunicación entre el clúster de Kubernetes y Citrix ADM. Para generar un token de autenticación:

      1. En el nodo principal de Kubernetes, ejecute los siguientes comandos:

        kubectl describe secret <token-name>
        <!--NeedCopy-->
        
      2. Copie el token que se genera y péguelo como token de autenticación

        Para obtener más información, consulte la documentación de Kubernetes.

    4. Seleccione el agente de la lista.

    5. Haga clic en Crear.

      agregar clúster

Definir una directiva de ingreso

La directiva Ingress decide qué Citrix ADC se utiliza para implementar una configuración de Ingress, basada en el clúster de Ingress o el espacio de nombres.

  1. Vaya a Orchestration > Kubernetes > Policy.

  2. Haga clic en Agregar para crear una directiva.

    1. Especifique el nombre de la directiva.

    2. Defina las condiciones para implementar la configuración de Ingress en un clúster de Kubernetes. Estas condiciones suelen basarse en el clúster de entrada y el espacio de nombres.

    3. En el grupo de Infraestructuras,

      • Sitio: Seleccione un sitio de la lista.

      • Instancia: Seleccione la instancia ADC de la lista.

      Las listas Sitio e Instancia rellenan las opciones según la selección del clúster en el panel Condiciones.

      Estas listas muestran los sitios o instancias asociados con el agente Citrix ADM configurado con el clúster de Kubernetes.

    4. En Elegir red, seleccione la red desde la que ADM asigna automáticamente las direcciones IP virtuales a una configuración de entrada.

      Esta lista muestra las redes creadas en Redes > IPAM.

    5. Haga clic en Crear.

Implementar la configuración de Ingress

Puede implementar la configuración de Ingress desde Kubernetes mediantekubectl, Kubernetes API u otras herramientas. También puede implementar la configuración de ingreso directamente desde Citrix ADM.

  1. Vaya a Orchestration > Kubernetes > Entradas.

  2. Haga clic en Agregar.

  3. En el campo Crear ingreso, especifique los siguientes detalles:

    1. Especifique el nombre de la entrada.

    2. En Cluster, seleccione el clúster de Kubernetes en el que quiere implementar un Ingress.

    3. Seleccione el espacio de nombres de clúster de la lista. Este campo enumera los espacios de nombres que están presentes en el clúster de Kubernetes especificado.

    4. Opcional, seleccione Asignación automática de dirección IP de frontend.

    5. Seleccione Protocolo de ingreso en la lista. Si selecciona HTTPS, especifique TLS secret.

      Este secreto incrusta el recurso secreto de Kubernetes que incorpora el certificado HTTPS y la clave privada.

      Una entrada HTTPS requiere un secreto basado en TLS configurado en el clúster de Kubernetes. Especifique lostls.crt campostls.key y para incluir el certificado de servidor y la clave de certificado respectivamente.

    6. Para el enrutamiento de contenido, especifique los siguientes detalles:

      • Rutas URL: Especifique la ruta que está asociada con el servicio y puerto Kubernetes.

      • Servicio Kubernetes: Especifique el servicio deseado.

      • Puerto: Especifique el puerto de servicio.

      • Método LB: Seleccione el método de equilibrio de carga preferido para el servicio Kubernetes seleccionado.

        El método seleccionado actualiza la especificación de ingreso con una anotación adecuada. Por ejemplo, si selecciona el método ROUNDROBIN, la anotación de Citrix aparece como sigue:

         "lbmethod":"ROUNDROBIN"
         <!--NeedCopy-->
        
      • Tipo de persistencia: Seleccione el tipo de persistencia de equilibrio de carga preferido para el servicio Kubernetes seleccionado.

        El tipo de persistencia seleccionado actualiza la especificación de ingreso con una anotación adecuada. Por ejemplo, si selecciona COOKIEINSERT, la anotación de Citrix aparece como sigue:

         "persistenceType":"COOKIEINSERT"
         <!--NeedCopy-->
        

      Haga clic en Agregar para agregar más rutas de URL y puertos a la configuración de ingreso.

      Agregar reglas de enrutamiento de contenido

      Después de la implementación, la configuración de ingreso redirige el tráfico del cliente a un servicio específico según lo siguiente:

      • La ruta URL solicitada y el puerto.
      • El método LB definido y el tipo de persistencia.

      NotaSe espera que los servicios

      Kubernetes utilizados en una configuración de ingreso sean de tipo NodePort.

    7. Opcional, especifique una descripción de ingreso.

    8. haga clic en Implementar.

      Si quiere revisar la configuración antes de implementar, haga clic en Generar especificación de ingreso. La configuración de entrada especificada aparece en formato YAML. Después de revisar la configuración, haga clic en Implementar.

Nota Aplicar licencias a los servidores virtuales que se crean mediante configuraciones de ingreso. Para aplicar la licencia, lleve a cabo los siguientes pasos:

  1. Vaya a Sistema > Licencias y análisis.
  2. En Resumen de licencia del servidor virtual, habilite la selección automática de servidores virtuales.
Administrar la configuración de Kubernetes Ingress en Citrix ADM