Sobes.tech
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