Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-10 GMT+08:00

Ingresos de ELB usando HTTP/2

Los ingresos pueden usar HTTP/2 para exponer los servicios. Las conexiones desde el balanceador de carga a su aplicación usan HTTP/1.X de forma predeterminada. Si su aplicación es capaz de recibir solicitudes de HTTP2, puede agregar el siguiente campo a la anotación de ingreso para habilitar el uso de HTTP/2:

kubernetes.io/elb.http2-enable: 'true'

A continuación se muestra el archivo YAML para asociarse con un balanceador de carga existente:

Para clústeres de v1.21 o anterior:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress 
metadata: 
  name: ingress-test
  annotations: 
    kubernetes.io/elb.id: <your_elb_id>  # Replace it with the ID of your existing load balancer.
    kubernetes.io/elb.ip: <your_elb_ip>  # Replace it with the IP of your existing load balancer.
    kubernetes.io/elb.port: '443'
    kubernetes.io/ingress.class: cce
    kubernetes.io/elb.http2-enable: 'true' # Enable HTTP/2.
spec:
  tls:
  - secretName: ingress-test-secret
  rules: 
  - host: ''
    http: 
      paths: 
      - path: '/'
        backend: 
          serviceName: <your_service_name>  # Replace it with the name of your target Service.
          servicePort: 80                   # Replace it with the port number of your target Service.
        property:
          ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
Para clústeres de v1.23 o posterior:
apiVersion: networking.k8s.io/v1
kind: Ingress 
metadata: 
  name: ingress-test
  annotations: 
    kubernetes.io/elb.id: <your_elb_id>  # Replace it with the ID of your existing load balancer.
    kubernetes.io/elb.ip: <your_elb_ip>  # Replace it with the IP of your existing load balancer.
    kubernetes.io/elb.port: '443'
    kubernetes.io/elb.http2-enable: 'true' # Enable HTTP/2.
spec:
  tls: 
  - secretName: ingress-test-secret
  rules: 
  - host: ''
    http: 
      paths: 
      - path: '/'
        backend: 
          service:
            name: <your_service_name>  # Replace it with the name of your target Service.
            port: 
              number: 8080             # Replace 8080 with the port number of your target Service.
        property:
          ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
        pathType: ImplementationSpecific
  ingressClassName: cce 

Tabla 6 Parámetros de HTTP/2

Parámetro

Obligatorio

Tipo

Descripción

kubernetes.io/elb.http2-enable

No

Bool

Si HTTP/2 está habilitado. El reenvío de solicitudes mediante HTTP/2 mejora el rendimiento de acceso entre su aplicación y el balanceador de carga. Sin embargo, el balanceador de carga todavía usa HTTP 1.X para reenviar solicitudes al servidor backend. Este parámetro es compatible con clústeres de v1.19.16-r0, v1.21.3-r0 y versiones posteriores.

Opciones:

  • true: activado
  • false: deshabilitado (valor predeterminado)

Nota: HTTP/2 se puede habilitar o deshabilitar solo cuando el oyente usa HTTPS. Este parámetro no es válido cuando el protocolo de oyente es HTTP y el valor predeterminado es false.