Назад к вопросам
Middle+
126
questionbank
Что в настоящее время используется чаще: класс ингресса или указание ингресс-контроллера непосредственно в приложении?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Класс ингресса (ingressClassName) используется чаще.
Это позволяет:
- Отделить конфигурацию ингресса от конфигурации приложения.
- Легче управлять различными ингресс-контроллерами в одном кластере.
- Гибко применять разные конфигурации ингресс-контроллеров для разных ингрессов (например, разные сертификаты SSL, разные типы балансировки).
Указание ингресс-контроллера через аннотации (например, kubernetes.io/ingress.class) считается устаревшим подходом в большей части сценариев, особенно с появлением ingressClassName в API networking.k8s.io/v1.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
spec:
ingressClassName: nginx # prefer this approach
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 # older approach, still supported by some controllers
spec:
rules:
- http:
paths:
- path: /test
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
В таблице сравнение:
| Аспект | ingressClassName |
Аннотация kubernetes.io/ingress.class |
|---|---|---|
| Статус | Рекомендованный | Устаревающий (в большинстве случаев) |
| Гибкость | Высокая | Средняя |
| Читаемость | Лучше | Хуже |
| API | Часть спецификации API | Аннотация |