Middle+
O que é mais utilizado atualmente: a classe de ingresso ou a especificação do controlador de ingresso diretamente na aplicação?
sobes.tech IA
Resposta da IA
A classe de ingresso (ingressClassName) é usada com mais frequência.
Isto permite:
- Separar a configuração do ingresso da configuração da aplicação.
- Gerir mais facilmente diferentes controladores de ingresso num mesmo cluster.
- Aplicar de forma flexível diferentes configurações de controladores de ingresso para diferentes ingressos (por exemplo, diferentes certificados SSL, diferentes tipos de balanceamento).
Indicar o controlador de ingresso através de anotações (por exemplo, kubernetes.io/ingress.class) é considerado uma abordagem obsoleta na maioria dos cenários, especialmente com a introdução de ingressClassName na API networking.k8s.io/v1.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
spec:
ingressClassName: nginx # prefira esta abordagem
rules:
- http:
paths:
- path: /test
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: older-ingress
annotations:
kubernetes.io/ingress.class: nginx # abordagem mais antiga, ainda suportada por alguns controladores
spec:
rules:
- http:
paths:
- path: /test
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
Tabela comparativa:
| Aspeto | ingressClassName |
Anotação kubernetes.io/ingress.class |
|---|---|---|
| Estado | Recomendado | Obsoleto (na maioria dos casos) |
| Flexibilidade | Alta | Média |
| Legibilidade | Melhor | Pior |
| API | Parte da especificação da API | Anotação |