Sobes.tech
Middle+

Jelenleg melyik van gyakrabban használatban: az ingress osztály vagy az ingress-kontroller közvetlen megadása az alkalmazásban?

sobes.tech MI

Válasz az MI-től

Az ingress osztály (ingressClassName) gyakrabban használt.

Ez lehetővé teszi:

  • Az ingress konfigurációjának elkülönítését az alkalmazás konfigurációjától.
  • Könnyebben kezelhetővé teszi különböző ingress vezérlők egy klaszteren belül.
  • Rugalmasan alkalmazhat különböző ingress vezérlő konfigurációkat különböző ingressekhez (pl. külön SSL tanúsítványok, külön terheléselosztási típusok).

Az ingress vezérlő megjelölése annotációk segítségével (pl. kubernetes.io/ingress.class) a legtöbb esetben elavult megközelítés, különösen az ingressClassName megjelenésével a networking.k8s.io/v1 API-ban.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress
spec:
  ingressClassName: nginx # ezt az eljárást részesítse előnyben
  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 # régebbi megközelítés, még támogatott néhány vezérlő által
spec:
  rules:
  - http:
      paths:
      - path: /test
        pathType: Prefix
        backend:
          service:
            name: test-service
            port:
              number: 80

Összehasonlító táblázat:

Elem ingressClassName kubernetes.io/ingress.class annotáció
Állapot Ajánlott Elavult (a legtöbb esetben)
Rugalmasság Magas Közepes
Olvashatóság Jobb Rosszabb
API Az API specifikáció része Annotáció