Middle+
Wat wordt momenteel vaker gebruikt: de ingress-klasse of het specificeren van de ingress-controller direct in de applicatie?
sobes.tech AI
Antwoord van AI
De ingressClassName wordt vaker gebruikt.
Dit maakt het mogelijk:
- De ingress-configuratie los te koppelen van de applicatieconfiguratie.
- Het beheer van verschillende ingress-controllers in één cluster te vergemakkelijken.
- Flexibel verschillende ingress-controllerconfiguraties toe te passen voor verschillende ingressen (bijvoorbeeld verschillende SSL-certificaten, verschillende load balancing-typen).
Het aangeven van de ingress-controller via annotaties (bijvoorbeeld kubernetes.io/ingress.class) wordt in de meeste scenario's als verouderd beschouwd, vooral met de introductie van ingressClassName in de API networking.k8s.io/v1.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
spec:
ingressClassName: nginx # geef de voorkeur aan deze aanpak
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 # oudere aanpak, nog ondersteund door sommige controllers
spec:
rules:
- http:
paths:
- path: /test
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
Vergelijkingstabel:
| Aspect | ingressClassName |
Annotatie kubernetes.io/ingress.class |
|---|---|---|
| Status | Aanbevolen | Verouderd (in de meeste gevallen) |
| Flexibiliteit | Hoog | Gemiddeld |
| Leesbaarheid | Beter | Slechter |
| API | Onderdeel van de API-specificatie | Annotatie |