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