Ingress Controller de Citrix ADC

Aplicar CRD a través de anotaciones

Ahora puede aplicar CRD como Rewrite and Responder, Ratelimit, Auth, WAF y Bot para recursos de entrada y servicios de equilibrador de carga de tipo haciendo referencia a ellos mediante anotaciones. Con esta función, cuando hay varios servicios en un recurso de Ingress, puede aplicar la directiva de reescritura y respuesta para un servicio específico o todos los servicios según sus requisitos.

A continuación se enumeran las dos ventajas de esta función:

  • Puede aplicar una CRD a nivel por ingreso y por servicio. Por ejemplo, el mismo servicio referido a través de un VIP interno puede tener un conjunto diferente de directivas de respuesta de reescritura en comparación con el expuesto en el exterior.
  • El equipo de operaciones puede crear instancias de CRD sin especificar los nombres de los servicios. Los desarrolladores de aplicaciones pueden elegir las directivas correctas en función de sus requisitos.

Nota:

Las instancias de CRD se deben crear sin nombres de servicio.

Anotación de entrada para CRD de referencia

Un recurso de Ingress puede hacer referencia a una CRD de reescritura y respuesta directamente mediante la anotación ingress.citrix.com/rewrite-responder.

Las siguientes son diferentes formas de hacer referencia a la CRD del respondedor de reescritura mediante anotaciones.

  • Puede aplicar la CRD de reescritura y respuesta para todos los servicios a los que se hace referencia en la entrada dada con el siguiente formato:

     ingress.citrix.com/rewrite-responder_crd: <Rewritepolicy Custom-resoure-instance-name>
    

Ejemplo:

    ingress.citrix.com/rewrite-responder_crd: "blockurlpolicy"

En este ejemplo, la directiva Rewrite and Responder se aplica a todos los servicios a los que se hace referencia en la entrada dada.

  • Puede aplicar la CRD de reescritura y respuesta a un servicio de Kubernetes específico en un recurso de Ingress con el siguiente formato:

     ingress.citrix.com/rewrite-responder_crd: '{<Kubernetes-service-name>: <Rewritepolicy Custom-resoure-instance-name>}'
    

    Ejemplo:

    ingress.citrix.com/rewrite-responder_crd: '{"frontendsvc": "blockurlpolicy", "backendsvc": "addresponseheaders"}'
    

    En este ejemplo, la directiva de reescritura blockurlpolicy se aplica al tráfico que llega al servicio frontendsvc y la directiva addresponseheaders se aplica al servicio backendsvc que llega a través de la entrada actual.

También puede aplicar los CRD de Auth, Bot, WAF y Ratelimit mediante anotaciones de entrada:

En la siguiente tabla se explican las anotaciones y los ejemplos de los CRD de Auth, Bot, WAF y Ratelimit.

Anotación Ejemplos Descripción
ingress.citrix.com/bot_crd ingress.citrix.com/bot_crd: '{"frontend": "botdefense"}' Aplica la directiva botdefense al tráfico entrante al servicio front-end.
ingress.citrix.com/auth_crd ingress.citrix.com/auth_crd: '{"frontend": "authexample"}' Aplica la directiva authexample al servicio front-end.
ingress.citrix.com/waf_crd ingress.citrix.com/waf_crd: "wafbasic" Aplica la directiva WAF wafbasic a todos los servicios del Ingress
ingress.citrix.com/ratelimit_crd ingress.citrix.com/ratelimit_crd: "throttlecoffeeperclientip" Aplica la directiva de límite de tarifa throttlecoffeeperclientip a todos los servicios del Ingress.

Servicio de anotación de tipo LoadBalancer para referir CRD de reescritura y respuesta

Un servicio de tipo LoadBalancer puede hacer referencia a una CRD de reescritura y respuesta mediante anotaciones.

A continuación se muestra el formato de la anotación:

service.citrix.com/rewrite-responder: <Rewritepolicy Custom-resoure-instance-name>
Aplicar CRD a través de anotaciones