Nesta página, descrevemos como usar um controlador de Entrada personalizado com o Google Kubernetes Engine (GKE).
Usar um controlador de Entrada personalizado com o complemento HttpLoadBalancing
ativado
É possível executar um controlador de entrada personalizado, como nginx-ingress
, desativando
o complemento HttpLoadBalancing
. Isso impede que o controlador de
entrada do GKE processe recursos de entrada.
Se você quiser executar um controlador de Entrada personalizado com o complemento HttpLoadBalancing
ativado, por exemplo, para usar recursos como
subagrupamento
e
Private Service Connect,
é possível usar uma das seguintes abordagens:
- No manifesto da Entrada, defina a
anotação
kubernetes.io/ingress.class
. Essa configuração é compatível com clusters que executam todas as versões do GKE. - Configure o campo
ingressClassName
. - Configurar uma classe de Entrada padrão
Garanta que spec.ingressClassName
não seja substituído acidentalmente por
nenhum processo. Uma operação de atualização que altera spec.IngressClassName
de um
valor válido para uma string vazia (""
) faz com que o controlador de entrada do GKE
processe a entrada.
Configurar o campo ingressClassName
É possível usar um controlador de entrada personalizado definindo o campo ingressClassName
no manifesto de entrada. O manifesto a seguir descreve uma entrada que
especifica o
controlador nginx
de entrada (em inglês):
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cafe-ingress
spec:
ingressClassName: nginx
tls:
- hosts:
- cafe.example.com
secretName: cafe-secret
rules:
- host: cafe.example.com
Essa configuração é compatível com a API Ingress v1beta1
nas
versões 1.18 a 1.21 do GKE e a API Ingress v1
nas versões
1.19 e posteriores do GKE.
Configurar uma classe de Entrada padrão
É possível configurar uma classe Entrada padrão para todos os recursos de Entrada em um
cluster criando um recurso
IngressClass
com a anotação ingressclass.kubernetes.io/is-default-class
definida como
true
:
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: nginx-public
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
spec:
controller: k8s.io/ingress-nginx
Essa configuração está disponível para clusters que executam o GKE versões 1.19 e posteriores.
Resumo do comportamento do controlador de Entrada do GKE
Para clusters que executam as versões 1.18 e posteriores do GKE,
se o controlador de Entrada do GKE processa uma Entrada depende do valor
da anotação kubernetes.io/ingress.class
e do campo
ingressClassName
no manifesto da Entrada: Para mais informações, consulte
Comportamento do controlador de entrada do GKE.
A seguir
- Saiba mais sobre o balanceamento de carga no Google Cloud.
- Saiba como configurar o Ingress para balanceadores de carga de aplicativo internos.
- Saiba como configurar o Ingress para balanceadores de carga de aplicativo externos.
- Implemente a Entrada do GKE usando a Entrada NGNIX.