Ingress Controller de Citrix ADC

Soporte de perfil para el CRD de oyente

Puede usar entidades individuales como el perfil HTTP, el perfil TCPy el perfil SSL para configurar HTTP, TCP y SSL respectivamente para la CRD de Listener. La compatibilidad de perfiles para Listener CRD le ayuda a personalizar el comportamiento del protocolo predeterminado. También puede seleccionar los cifrados SSL para el servidor virtual SSL.

Perfil HTTP

Un perfil HTTP es una colección de configuraciones HTTP. Se configura un perfil HTTP predeterminado llamado nshttp_default_profile para establecer las configuraciones HTTP. Estas configuraciones se aplican, de forma predeterminada, de forma global a todos los servicios y servidores virtuales. Puede personalizar las configuraciones HTTP para un recurso Listener especificando spec.policies.httpprofile. Si se especifica, el Citrix Ingress Controller crea un nuevo perfil HTTP con los valores predeterminados derivados del perfil HTTP predeterminado y configura los valores especificados.

Ayuda a derivar los valores predeterminados del perfil HTTP predeterminado y configura los valores especificados.

El siguiente ejemplo YAML muestra cómo habilitar websocket para un servidor virtual front-end determinado.

    apiVersion: citrix.com/v1
    kind: Listener
    metadata:
      name: test-listener
      namespace: default
    spec:
      vip: x.x.x.x
      port: 80
      protocol: http
      policies:
        httpprofile:
          config:
            websocket: "ENABLED"
<!--NeedCopy-->

Para obtener información sobre todos los pares clave-valor posibles para el perfil HTTP, consulte Perfil HTTP.

Nota:

El “nombre” se genera automáticamente.

También puede especificar un perfil HTTP integrado o un perfil HTTP preconfigurado y vincularlo al servidor virtual front-end como se muestra en el siguiente ejemplo.

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 80
  protocol: http
  policies:
    httpprofile:
      preconfigured: 'nshttp_default_strict_validation'
<!--NeedCopy-->

Perfil TCP

Un perfil TCP es una colección de configuraciones TCP. Se configura un perfil TCP predeterminado llamado nstcp_default_profile para establecer las configuraciones TCP. Estas configuraciones se aplican, de forma predeterminada, de forma global a todos los servicios y servidores virtuales. Puede personalizar la configuración de TCP especificando spec.policies.tcpprofile. Cuando especifica spec.policies.tcpprofile, el Citrix Ingress Controller crea un perfil TCP que se deriva del perfil TCP predeterminado y aplica los valores proporcionados en la especificación y lo vincula al servidor virtual front-end.

Para obtener información sobre todos los pares clave-valor posibles para un perfil TCP, consulte Perfil TCP.

Nota:

El nombre se genera automáticamente.

En el siguiente ejemplo se muestra cómo habilitar tcpfastopen y HyStart para el servidor virtual front-end.

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 80
  protocol: http
  policies:
    tcpprofile:
      config:
        tcpfastopen: "ENABLED"
        hystart: "ENABLED"
<!--NeedCopy-->

También puede especificar un perfil TCP integrado o un nombre de perfil TCP preconfigurado, como se muestra en el siguiente ejemplo:

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 80
  protocol: http
  policies:
    tcpprofile:
      preconfigured: 'nstcp_default_Mobile_profile'
<!--NeedCopy-->

Perfil SSL

Un perfil SSL es una colección de configuraciones para las entidades SSL. El perfil SSL facilita y flexibiliza la configuración. Puede configurar los ajustes en un perfil y vincular ese perfil a un servidor virtual en lugar de configurar los ajustes en cada entidad. Un perfil SSL le permite personalizar muchos parámetros SSL, como el protocolo TLS y los cifrados. Para obtener más información sobre el perfil SSL, consulte Infraestructura de perfiles SSL.

Nota:

De forma predeterminada, Citrix ADC crea un perfil SSL heredado. El perfil SSL heredado tiene muchos inconvenientes, incluida la falta de soporte para protocolos avanzados como SSLv3. Por lo tanto, se recomienda habilitar los perfiles SSL predeterminados en Citrix ADC antes de iniciar el Citrix Ingress Controller.

Para habilitar el perfil SSL avanzado, use el siguiente comando en la línea de comandos de Citrix ADC:

set ssl parámetro -defaultProfile ENABLED

El comando habilita el perfil SSL predeterminado para todos los servidores virtuales SSL existentes y los grupos de servicios SSL.

Puede especificar que spec.policies.sslprofile se personalice el perfil SSL. Cuando se especifica, el Citrix Ingress Controller crea un perfil SSL derivado del perfil front-end SSL predeterminado: ns_default_ssl_profile_frontend.

Para obtener información sobre los pares clave-valor admitidos en el perfil SSL, consulte Perfil SSL.

Nota:

name se genera automáticamente.

El siguiente ejemplo muestra cómo habilitar TLS1.3 y HSTS para el servidor virtual front-end.

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 443
  certificates:
  - secret:
      name: my-cert
  protocol: https
  policies:
    sslprofile:
      config:
        tls13: "ENABLED"
        hsts: "ENABLED"

<!--NeedCopy-->

Puede especificar un nombre de perfil SSL integrado o preconfigurado, como se muestra en el siguiente ejemplo:

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 443
  certificates:
  - secret:
      name: my-cert
  protocol: https
  policies:
    sslprofile:
      preconfigured: 'ns_default_ssl_profile_secure_frontend'
<!--NeedCopy-->

Cifrados SSL

El Citrix ADC de entrada tiene grupos de cifrado integrados. De forma predeterminada, los servidores virtuales usan un grupo de cifrado DEFAULT para una transacción SSL. Para usar cifrados que no forman parte del grupo de cifrado DEFAULT, debe vincularlos explícitamente a un perfil SSL. Se puede utilizar spec.policies.sslciphers para proporcionar una lista de cifrados, una lista de grupos de cifrado integradoso la lista de grupos de cifrado definidos por el usuario.

Nota:

El orden de prioridad de los cifrados es el mismo orden definido en la lista. El primero de la lista tiene la primera prioridad y lo mismo.

En el siguiente ejemplo se muestra cómo proporcionar una lista de conjuntos de cifrado integrados.

  apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
      sslciphers:
      - 'TLS1.2-ECDHE-RSA-AES128-GCM-SHA256'
      - 'TLS1.2-ECDHE-RSA-AES256-GCM-SHA384'
      - 'TLS1.2-ECDHE-RSA-AES-128-SHA256'
      - 'TLS1.2-ECDHE-RSA-AES-256-SHA384'
<!--NeedCopy-->

Para obtener información sobre la lista de conjuntos de cifrado disponibles en Citrix ADC, consulte Infraestructura de perfiles SSL.

Asegúrese de que Citrix ADC tenga un grupo de cifrado definido por el usuario para usar un grupo de cifrado definido por el usuario. Realice los siguientes pasos para configurar un grupo de cifrado definido por el usuario:

  1. Cree un grupo de cifrado definido por el usuario. Por ejemplo, MY-CUSTOM-GROUP.
  2. Enlaza todos los cifrados requeridos al grupo de cifrado definido por el usuario.
  3. Anote el nombre del grupo de cifrado definido por el usuario.

Para obtener instrucciones detalladas, consulte Configurar un grupo de cifrado definido porel usuario.

Nota: El orden de prioridad de los cifrados es el mismo orden definido en la lista. El primero de la lista tiene la primera prioridad y lo mismo.

El siguiente ejemplo muestra cómo proporcionar una lista de grupos de cifrado integrados o grupos de cifrado definidos por el usuario. Los grupos de cifrado definidos por el usuario deben estar presentes en Citrix ADC antes de aplicarlos a Listener.

  apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
      sslciphers:
      - 'SECURE'
      - 'HIGH'
      - 'MY-CUSTOM-CIPHERS'
<!--NeedCopy-->

En el ejemplo anterior, SECURE y HIGH son grupos de cifrado integrados en Citrix ADC. MY-CUSTOM-CIPHERS son los grupos de cifrado preconfigurados definidos por el usuario.

Nota: Si ha especificado el perfil SSL preconfigurado, debe vincular los cifrados manualmente a través de Citrix ADC y spec.policies.sslciphers no se aplica en el perfil SSL preconfigurado.

Nota: Los grupos de cifrado integrados se pueden utilizar en Citrix ADC de nivel 1 y 2. El grupo de cifrado definido por el usuario solo se puede usar en un Citrix ADC de nivel 1.

Perfil de análisis

El perfil de Analytics permite a Citrix ADC exportar el tipo de transacciones o datos a una plataforma externa. Si utiliza Citrix ADC Observability Exporter para recopilar datos de métricas y transacciones y exportarlos a puntos finales como Elasticsearch o Prometheus, puede configurar el perfil de análisis para seleccionar el tipo de datos que se deben exportar.

Nota:

Para que el perfil de Analytics funcione, debe configurar Citrix ADC Observability Exporter. Soporte de configuración de análisis mediante ConfigMap.

En el siguiente ejemplo se muestra cómo habilitar webinsight y tcpinsight en el perfil de análisis.

apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
     analyticsprofile:
       config:
       - type: webinsight
       - type: tcpinsight
<!--NeedCopy-->

En el siguiente ejemplo se muestra cómo seleccionar los parámetros adicionales para el tipo webinsight que quiere exportar a Citrix ADC Observability Exporter. Para obtener información sobre el par clave-valor válido, consulte Perfil de Analytics.

apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
     analyticsprofile:
       config:
       - type: webinsight
         parameters:
           httpdomainname: "ENABLED"
           httplocation: "ENABLED"
<!--NeedCopy-->

En el siguiente ejemplo, se muestra cómo utilizar perfiles de análisis preconfigurados.

  apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
     analyticsprofile:
       preconfigured:
       - 'custom-websingiht-analytics-profile'
       - 'custom-tcpinsight-analytics-profile'
<!--NeedCopy-->
Soporte de perfil para el CRD de oyente