Sobes.tech
Middle+

Qu'est-ce qui est utilisé plus fréquemment actuellement : la classe d'entrée ou la spécification du contrôleur d'entrée directement dans l'application ?

sobes.tech IA

Réponse de l'IA

La classe d'ingress (ingressClassName) est utilisée plus fréquemment.

Cela permet :

  • Séparer la configuration de l'ingress de la configuration de l'application.
  • Gérer plus facilement différents contrôleurs d'ingress dans un même cluster.
  • Appliquer de manière flexible différentes configurations de contrôleurs d'ingress pour différents ingress (par exemple, différents certificats SSL, différents types de répartition de charge).

Indiquer le contrôleur d'ingress via des annotations (par exemple, kubernetes.io/ingress.class) est considéré comme une approche obsolète dans la plupart des scénarios, surtout avec l'apparition de ingressClassName dans l'API networking.k8s.io/v1.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress
spec:
  ingressClassName: nginx # privilégiez cette approche
  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 # approche plus ancienne, toujours supportée par certains contrôleurs
spec:
  rules:
  - http:
      paths:
      - path: /test
        pathType: Prefix
        backend:
          service:
            name: test-service
            port:
              number: 80

Tableau comparatif :

Aspect ingressClassName Annotation kubernetes.io/ingress.class
Statut Recommandé Obsolète (dans la plupart des cas)
Flexibilité Élevée Moyenne
Lisibilité Meilleure Pire
API Partie de la spécification de l'API Annotation