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 |