Middle+
Čo sa v súčasnosti častejšie používa: trieda ingress alebo špecifikácia ingress kontroléra priamo v aplikácii?
sobes.tech AI
Odpoveď od AI
Trieda ingressu (ingressClassName) sačastejšie používa.
To umožňuje:
- Oddeliť konfiguráciu ingressu od konfigurácie aplikácie.
- Jednoduchšie spravovať rôzne ingress kontroléry v jednom klastre.
- Flexibilne aplikovať rôzne konfigurácie ingress kontrolérov pre rôzne ingressy (napríklad rôzne SSL certifikáty, rôzne typy vyvažovania záťaže).
Uvedenie ingress kontroléra pomocou anotácií (napríklad kubernetes.io/ingress.class) sa považuje za zastaraný prístup vo väčšine scenárov, najmä s príchodom ingressClassName v API networking.k8s.io/v1.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
spec:
ingressClassName: nginx # uprednostnite tento prístup
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 # starší prístup, stále podporovaný niektorými kontrolérmi
spec:
rules:
- http:
paths:
- path: /test
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
Porovnávacia tabuľka:
| Element | ingressClassName |
Anotácia kubernetes.io/ingress.class |
|---|---|---|
| Stav | Odporúčané | Zastaralé (vo väčšine prípadov) |
| Fleksibilita | Vysoká | Stredná |
| Čitateľnosť | Lepšia | Horšia |
| API | Časť špecifikácie API | Anotácia |