Что у меня работает
У меня есть кластер Kubernetes следующим образом:
- Одиночная плоскость управления (но планируется расширить до 3 плоскостей управления для HA)
- 2 рабочих узла
В этом кластере я развернул (после этого выполните c из traefik https://docs.traefik.io/user-guides/crd-acme/):
Чего я хочу
У меня в кластере запущено несколько служб, и я хочу открыть их извне с помощью Ingress. Точнее, я хочу использовать новые методы доступа Traefik 2.x CDR.
Моя конечная цель - использовать новые CRD traefiks 2.x для предоставления ресурсов через порт 80, 443, 8080. использование IngressRoute
пользовательских определений ресурсов
В чем проблема
Если я правильно понимаю, контроллеры classi c Ingress позволяют выставлять любые порты, которые мы хотим, для внешнего мира (включая 80, 8080 и 443).
Но с помощью нового подхода к входу traefik CDR он ничего не экспортирует вообще. Одним из решений является определение службы Traefik как службы с балансировкой нагрузки, а затем предоставление некоторых портов. Но вы вынуждены использовать диапазон портов 30000-32767 (такой же, как и у нодпорта), и я не хочу добавлять обратный прокси перед обратным прокси, чтобы иметь возможность выставить порты 80 и 443 ...
Также я получил от c нового CRD igress (https://docs.traefik.io/user-guides/crd-acme/), который:
kubectl port-forward --address 0.0.0.0 service/traefik 8000:8000 8080:8080 443:4443 -n default
требуется, и я понимаю это сейчас. Вам необходимо сопоставить порт хоста с сервисным портом. Но отображение портов таким способом кажется неуклюжим и противоречит интуитивно понятным. Я не хочу иметь часть описания сервиса в yaml и в то же время должен помнить, что мне нужно сопоставить порт с kubectl
.
Я почти уверен, что есть аккуратный и простое решение этой проблемы, но я не могу понять, как все сделать просто. Ребята, у вас есть опыт работы в kubernetes с новой конфигурацией traefik 2.x CRD?