Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

Ingresses do ELB usando HTTP/2

Os ingresses podem usar HTTP/2 para expor Serviços. As conexões do balanceador de carga com sua aplicação usam HTTP/1.X por padrão. Se sua aplicação for capaz de receber solicitações HTTP2, você poderá adicionar o seguinte campo à anotação de entrada para habilitar o uso de HTTP/2:

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

A seguir, mostra o arquivo YAML para associação a um balanceador de carga existente:

Para clusters da v1.21 ou 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 clusters da v1.23 ou 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 

Tabela 6 Parâmetros de HTTP/2

Parâmetro

Obrigatório

Tipo

Descrição

kubernetes.io/elb.http2-enable

Não

Bool

Se o HTTP/2 está ativado. O encaminhamento de solicitações usando HTTP/2 melhora o desempenho de acesso entre a aplicação e o balanceador de carga. No entanto, o balanceador de carga ainda usa HTTP 1.X para encaminhar solicitações para o servidor back-end. Este parâmetro é suportado em clusters de v1.19.16-r0, v1.21.3-r0 e versões posteriores.

Opções:

  • true: ativado
  • false: desativado (valor padrão)

Observação: o HTTP/2 pode ser ativado ou desativado somente quando o ouvinte usa HTTPS. Este parâmetro é inválido quando o protocolo do ouvinte é HTTP e o padrão é false.