Middle+
Какво се използва по-често в момента: класът ingress или посочването на ingress контролера директно в приложението?
sobes.tech AI
Отговор от AI
Класът за ingress (ingressClassName) се използва по-често.
Това позволява:
- Да се отдели конфигурацията на ingress от конфигурацията на приложението.
- По-лесно управление на различни контролери за ingress в един клъстер.
- Гъвкаво прилагане на различни конфигурации на контролерите за ingress за различни ingress (например, различни SSL сертификати, различни типове балансировка).
Посочването на контролера за ingress чрез annotations (например, kubernetes.io/ingress.class) се счита за остарял подход в повечето сценарии, особено с появата на ingressClassName в API networking.k8s.io/v1.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
spec:
ingressClassName: nginx # предпочитаният подход
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 # по-старият подход, все още поддържан от някои контролери
spec:
rules:
- http:
paths:
- path: /test
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
Таблица за сравнение:
| Аспект | ingressClassName |
Анотация kubernetes.io/ingress.class |
|---|---|---|
| Статус | Препоръчително | Остаряло (в повечето случаи) |
| Гъвкавост | Висока | Средна |
| Четливост | По-добра | По-лоша |
| API | Част от спецификацията на API | Анотация |