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" ] |