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.
Central de ajuda/ Cloud Container Engine/ Guia de usuário/ Rede/ Ingresses/ Ingresses de Nginx/ Configuração de ingresses de Nginx usando anotações
Atualizado em 2024-11-28 GMT+08:00

Configuração de ingresses de Nginx usando anotações

O complemento nginx-ingress no CCE usa o gráfico de comunidade e a imagem. Se os parâmetros de complemento padrão não puderem atender às suas demandas, você poderá adicionar anotações para definir o que precisa, como o back-end padrão, o tempo limite e o tamanho do corpo da solicitação.

Esta seção descreve anotações comuns usadas para criar um ingress do tipo Nginx.

  • O valor da chave de uma anotação só pode ser uma cadeia. Outros tipos (como valores booleanos ou numéricos) devem ser colocados entre aspas (""), por exemplo, "true", "false" e "100".
  • O ingress de Nginx suporta anotações nativas da comunidade. Para obter detalhes, consulte Anotações.

Tipo de ingress

Tabela 1 Anotações do tipo de ingress

Parâmetro

Tipo

Descrição

Versão do cluster suportada

kubernetes.io/ingress.class

String

  • nginx: ingress de Nginx é usado.
  • cce: o ingress autodesenvolvido do ELB é usado.

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 de Nginx.

Somente clusters da v1.21 ou anterior

Para obter detalhes sobre como usar as anotações anteriores, consulte Uso do kubectl para criar um ingress de Nginx.

Configurar uma regra de reescrita de URL

Tabela 2 Anotações de regra de reescrever URL

Parâmetro

Tipo

Descrição

nginx.ingress.kubernetes.io/rewrite-target

String

URI de destino onde o tráfego deve ser redirecionado.

nginx.ingress.kubernetes.io/ssl-redirect

Bool

Indica se o acesso está disponível apenas por meio de SSL. O valor padrão é true quando o ingress contém um certificado.

nginx.ingress.kubernetes.io/force-ssl-redirect

Bool

Indica se deve redirecionar um pedido para HTTPS, mesmo que o TLS não esteja ativado para o ingress. Quando HTTP é usado para acesso, a solicitação é forçosamente redirecionada (código de status 308) para HTTPS.

Para obter detalhes sobre os cenários de aplicação, consulte Configuração de regras de reescrita de URL para ingresses de Nginx.

Interconexão com serviços de back-end HTTPS

Tabela 3 Anotações para interconexão com serviços de back-end HTTPS

Parâmetro

Tipo

Descrição

nginx.ingress.kubernetes.io/backend-protocol

String

Se esse parâmetro for definido como HTTPS, o HTTPS será usado para encaminhar solicitações para o contêiner de serviço de back-end.

Para obter detalhes sobre os cenários de aplicação, consulte Interconexão de ingresses do Nginx com serviços de back-end HTTPS.

Criar uma regra de hash consistente para balanceamento de carga

Tabela 4 Anotação de hashing consistente para balanceamento de carga

Parâmetro

Tipo

Descrição

nginx.ingress.kubernetes.io/upstream-hash-by

String

Habilitar hashing consistente para balanceamento de carga para servidores de back-end. O valor do parâmetro pode ser um parâmetro de Nginx, um valor de texto ou qualquer combinação. Por exemplo:
  • nginx.ingress.kubernetes.io/upstream-hash-by: "$request_uri" indica que as solicitações são hash com base no URI da solicitação.
  • nginx.ingress.kubernetes.io/upstream-hash-by: "$request_uri$host" indica que as solicitações são hash com base no URI da solicitação e no nome do domínio.
  • nginx.ingress.kubernetes.io/upstream-hash-by: "${request_uri}-text-value" indica que as solicitações são hash com base no URI da solicitação e no valor do texto.

Para obter detalhes sobre os cenários de aplicação, consulte Ingresses de Nginx usar hashing consistente para balanceamento de carga.

Intervalo de tempo limite personalizado

Tabela 5 Anotações personalizadas do intervalo de tempo limite

Parâmetro

Tipo

Descrição

nginx.ingress.kubernetes.io/proxy-connect-timeout

String

Intervalo de tempo limite de conexão personalizado. Você não precisa ajustar a unidade ao definir o intervalo de tempo limite. A unidade padrão é a segunda.

Exemplo:

nginx.ingress.kubernetes.io/proxy-connect-timeout: '120'

Personalizar o tamanho do corpo

Tabela 6 Anotações de personalização do tamanho do corpo

Parâmetro

Tipo

Descrição

nginx.ingress.kubernetes.io/proxy-body-size

String

Quando o tamanho do corpo em uma solicitação excede o limite superior, o erro 413 é retornado ao cliente. Você pode usar este parâmetro para ajustar o limite superior do tamanho do corpo.

Exemplo:

nginx.ingress.kubernetes.io/proxy-body-size: 8m

Documentação

Para obter detalhes sobre os parâmetros de anotação suportados pelos ingresses do Nginx, consulte Anotações.