Administrar la configuración de Kubernetes Ingress en Citrix ADM

Kubernetes (K8) es un motor de orquestación de contenedores de código abierto donde puede automatizar la implementación, el escalado y la administración de aplicaciones en contenedores.

Kubernetes utiliza la función Ingress a través de la cual el tráfico del cliente accede a los microservicios de una aplicación. Las instancias Citrix ADC pueden actuar como ingreso a las aplicaciones que se ejecutan dentro de un clúster de Kubernetes. Las instancias Citrix ADC se convierten en equilibrador de carga y proxy para el tráfico (Norte-Sur) de los clientes a los microservicios dentro del clúster de Kubernetes. Y las instancias, actualizar los puntos finales de los microservicios a medida que cambian en el entorno de Kubernetes.

Nota

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

Puede configurar varias instancias ADC para que actúen como Ingress y asignar cada ADC a diferentes aplicaciones según la directiva Ingress. Especifique lo siguiente para implementar una configuración de ingreso:

  • Clúster: Clúster de Kubernetes en el que quiere implementar una configuración de Ingress. Al agregar un clúster en Citrix ADM, especifique la información del servidor de la API de Kubernetes. Además, seleccione un agente desde el que quiera administrar las configuraciones de Ingress.

  • Directivas: Las directivas deciden la instancia de ADC, el clúster y el espacio de nombres para implementar una configuración de Ingress. Especifique la información del clúster, el sitio y la instancia para agregar una directiva.

  • Configuración de ingreso: Esta configuración 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 utilizando un secreto de Kubernetes para descargar tráfico HTTPS en la instancia ADC.

Citrix ADM asigna automáticamente las configuraciones de entrada y las instancias de ADC. El Citrix ADM selecciona la instancia de ADC y aloja una configuración de ingreso en función de las directivas de ingreso especificadas.

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

Antes de empezar

Para organizar instancias de Citrix ADC en el clúster de Kubernetes, asegúrese de que dispone de:

  • Clúster de Kubernetes.

  • Agente Citrix ADM instalado y configurado para permitir la comunicación entre Citrix ADM y Kubernetes clúster o instancias administradas en su centro de datos o nube.

  • Clúster de Kubernetes agregado en Citrix ADM.

Configurar el agente Citrix ADM para que se registre en el clúster de Kubernetes

Para habilitar la comunicación entre el clúster de Kubernetes y Citrix ADM, debe instalar y configurar un agente Citrix ADM. Puede configurar un agente utilizando lo siguiente:

  • Hipervisor

  • Servicios de nube pública (como Microsoft Azure, AWS)

  • Agente integrado disponible en instancias de Citrix ADC (ideal para implementaciones de alta disponibilidad).

Siga elprocedimientopara configurar un agente.

Nota

También puede utilizar un agente existente.

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

El adaptador Kubernetes está diseñado para administrar la configuración de Ingress para un clúster de Kubernetes. Este adaptador requiere un acceso amplio de clúster a las API de Kubernetes. Para ello, agregue una cuenta de servicio para Citrix ADM y configure la cuenta de servicio con los permisos RBAC necesarios.

  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
    

    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.

  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
    
  4. Ejecute el siguiente comando para obtener la cadena secreta del token:

    kubectl describe secret <token-name>
    

Agregar el clúster de Kubernetes en Citrix ADM

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

Para agregar el clúster de Kubernetes:

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

  2. Desplácese 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 maestro de Kubernetes.

      1. En el nodo maestro de Kubernetes, ejecute el comandokubectl 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 el token de autenticación. 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 maestro de Kubernetes, ejecute los siguientes comandos:

        kubectl get secrets | grep ^default

        kubectl describe secret <SECRET_NAME>

        Nota

        También puede crear YAML de rol y cuenta de servicio RBAC para su clúster de Kubernetes, y crear un token de autenticación para el usuario administrador.

      2. Copie el token que se genera.

        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

      Puede implementar la configuración de Ingress, después de habilitar los servidores virtuales de selección automática para la concesión de licencias.

Definir una directiva de ingreso

La directiva Ingress decide el clúster de Kubernetes y las instancias VPX para implementar la configuración de Ingress. Defina las condiciones en la directiva de ingreso y especifique los detalles de infraestructura para ejecutar la directiva.

  1. Desplácese 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.

    3. En el grupo de Infraestructuras,

      • Sitio: Seleccione un sitio de la lista.

      • Instancia: Seleccione una instancia 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. Haga clic en Crear.

Implementar la configuración de Ingress

Especifique los detalles necesarios para implementar una configuración de Ingress.

  1. Desplácese a Orchestration > Kubernetes > Ingreso.

  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. En el campo Dirección IP de interfaz, especifique la dirección IP virtual del dispositivo de entrada.

    5. Si quiere administrar el tráfico HTTPS en el clúster de Kubernetes:

      1. Seleccione en el campo Habilitar TLS.

      2. En el campo Secreto TLS, seleccione la información secreta de la lista.

      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. Especifique las rutas URL y sus puertos y servicio Kubernetes. Haga clic en Agregar para agregar más rutas de URL y puertos a la configuración de ingreso.

      Después de la implementación, la configuración de ingreso redirige el tráfico del cliente a los servicios específicos cuando se solicitan las rutas URL definidas.

    7. Opcional, especifique una descripción de ingreso y haga clic en Desplegar.

      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 Desplegar.