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