Configuração de ingresses do ELB usando anotações
Adicionando anotações a um arquivo YAML, você pode implementar funções de ingress mais avançadas. Esta seção descreve as anotações que podem ser usadas quando você cria um ingress do tipo do ELB.
Interconexão com o ELB
Parâmetro |
Tipo |
Descrição |
Versão do cluster suportada |
---|---|---|---|
kubernetes.io/elb.class |
String |
Selecione um tipo adequado de balanceador de carga. O valor pode ser:
|
v1.9 ou mais recente |
kubernetes.io/ingress.class |
String |
Esse parâmetro é obrigatório quando um ingress é criado chamando a API. Para clusters v1.23 ou posterior, use o parâmetro ingressClassName. Para mais detalhes, consulte Uso do kubectl para criar um ingress do ELB. |
Somente clusters da v1.21 ou anterior |
kubernetes.io/elb.port |
Integer |
Este parâmetro indica a porta externa registrada com o endereço do Serviço LoadBalancer. Intervalo suportado: 1 a 65535
NOTA:
Algumas portas são portas de alto risco e são bloqueadas por padrão, por exemplo, a porta 21. |
v1.9 ou mais recente |
kubernetes.io/elb.id |
String |
Obrigatório quando um balanceador de carga existente deve ser interconectado. ID de um balanceador de carga. Como obter: No console de gerenciamento, clique em Service List e escolha Networking > Elastic Load Balance. Clique no nome do balanceador de carga de destino. Na página de guia Summary, localize e copie o ID. |
v1.9 ou mais recente |
kubernetes.io/elb.ip |
String |
Obrigatório quando um balanceador de carga existente deve ser interconectado. Este parâmetro indica o endereço de serviço de um balanceador de carga. O valor pode ser o endereço IP público de um balanceador de carga de rede público ou o endereço IP privado de um balanceador de carga de rede privada. |
v1.9 ou mais recente |
kubernetes.io/elb.autocreate |
Tabela 4 Object |
Obrigatório quando os balanceadores de carga são criados automaticamente. Exemplo
|
v1.9 ou mais recente |
kubernetes.io/elb.enterpriseID |
String |
Opcional quando balanceadores de carga são criados automaticamente. Os clusters da v1.15 e posterior oferecem suporte a esse campo. Nos clusters anteriores à v1.15, os balanceadores de carga são criados no projeto padrão por padrão. Esse parâmetro indica o ID do projeto empresarial no qual o balanceador de carga do ELB será criado. Se esse parâmetro não for especificado ou for definido como 0, os recursos serão vinculados ao projeto empresarial padrão. Como obter: Faça logon no console de gerenciamento e escolha Enterprise > Project Management na barra de menu superior. Na lista exibida, clique no nome do projeto empresarial de destino e copie o ID na página de detalhes do projeto empresarial. |
v1.15 ou mais recente |
kubernetes.io/elb.subnet-id |
String |
Opcional quando balanceadores de carga são criados automaticamente. ID da sub-rede onde o cluster está localizado. O valor pode conter de 1 a 100 caracteres.
|
Obrigatório para clusters anteriores à v1.11.7-r0 Descartado em clusters posteriores à v1.11.7-r0 |
- Consulte Criar um ingress - interconectarse com um balanceador de carga existente para interconectar um balanceador de carga existente.
- Consulte Criar um ingress - criar automaticamente um balanceador de carga para criar automaticamente um balanceador de carga.
Usar o HTTP/2
Parâmetro |
Tipo |
Descrição |
Versão do cluster suportada |
---|---|---|---|
kubernetes.io/elb.http2-enable |
String |
Se o HTTP/2 está ativado. O encaminhamento de solicitações usando HTTP/2 melhora o desempenho de acesso entre sua 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 posterior. Opções:
Observação: o HTTP/2 pode ser ativado ou desativado somente quando o ouvinte usa HTTPS. Esse parâmetro é inválido e assume como padrão false quando o protocolo de ouvinte é HTTP. |
v1.19.16-r0, v1.21.3-r0 ou mais recente |
Para obter detalhes sobre os cenários de aplicação, consulte Ingresses do ELB usando HTTP/2.
Interconexão com serviços de back-end HTTPS
Parâmetro |
Tipo |
Descrição |
Versão do cluster suportada |
---|---|---|---|
kubernetes.io/elb.pool-protocol |
String |
Para interconectar com serviços de back-end HTTPS, defina esse parâmetro como https. |
v1.23.8, v1.25.3 ou mais recente |
Para obter detalhes sobre os cenários de aplicação, consulte Interconexão de ingresses do ELB com serviços de back-end HTTPS.
Estrutura de dados
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
name |
Não |
String |
Nome do balanceador de carga criado automaticamente. O valor pode conter de 1 a 64 caracteres. Somente letras, dígitos, sublinhados (_), hifens (-) e pontos (.) são permitidos. Padrão: cce-lb+service.UID |
type |
Não |
String |
Tipo de rede do balanceador de carga.
Padrão: inner |
bandwidth_name |
Sim para balanceadores de carga de rede pública |
String |
Nome da largura de banda. O valor padrão é cce-bandwidth-******. O valor pode conter de 1 a 64 caracteres. Somente letras, dígitos, sublinhados (_), hifens (-) e pontos (.) são permitidos. |
bandwidth_chargemode |
Não |
String |
Modo de cobrança de largura de banda.
Padrão: bandwidth |
bandwidth_size |
Sim para balanceadores de carga de rede pública |
Integer |
Tamanho da largura de banda. O valor padrão é de 1 a 2000 Mbit/s. Configure este parâmetro com base na faixa de largura de banda permitida em sua região.
O incremento mínimo para ajuste de largura de banda varia dependendo do intervalo de largura de banda.
|
bandwidth_sharetype |
Sim para balanceadores de carga de rede pública |
String |
Modo de compartilhamento de largura de banda.
|
eip_type |
Sim para balanceadores de carga de rede pública |
String |
Tipo de EIP.
|
vip_subnet_cidr_id |
Não |
String |
Sub-rede onde o balanceador de carga está localizado. Este campo é suportado por clusters de v1.21 ou posterior. Se esse parâmetro não for especificado, o balanceador de carga do ELB e o cluster estarão na mesma sub-rede. |
available_zone |
Sim |
Array of strings |
AZ onde o balanceador de carga está localizado. Você pode obter todas as AZs suportadas consultando a lista de AZ. Esse parâmetro está disponível apenas para balanceadores de carga compartilhados. |
l4_flavor_name |
Sim |
String |
Nome do flavor do balanceador de carga da camada 4. Você pode obter todos os tipos suportados consultando a lista de flavors. Esse parâmetro está disponível apenas para balanceadores de carga compartilhados. |
l7_flavor_name |
Não |
String |
Nome do flavor do balanceador de carga da camada-7. Você pode obter todos os tipos suportados consultando a lista de flavors. Esse parâmetro está disponível apenas para balanceadores de carga compartilhados. O valor deste parâmetro deve ser o mesmo de l4_flavor_name, ou seja, ambos são especificações elásticas ou especificações fixas. |
elb_virsubnet_ids |
Não |
Array of strings |
Sub-rede onde o servidor back-end do balanceador de carga está localizado. Se esse parâmetro for deixado em branco, a sub-rede do cluster padrão será usada. Os balanceadores de carga ocupam um número diferente de endereços IP de sub-rede com base em suas especificações. Não use os blocos CIDR de sub-rede de outros recursos (como clusters e nós) como o bloco CIDR do balanceador de carga. Esse parâmetro está disponível apenas para balanceadores de carga compartilhados. Exemplo: "elb_virsubnet_ids": [ "14567f27-8ae4-42b8-ae47-9f847a4690dd" ] |