Поддержка HTTP2 для входа в Traefik в Кубернетесе (K3S)
Я использую K3S для своего кластера Kubernetes. Это действительно быстро и эффективно. По умолчанию K3S использует Traefik для входного контроллера, который также работает до сих пор.
Единственная проблема, с которой я столкнулся, это то, что я хочу использовать HTTP2-сервер. Служба, которая у меня есть, находится за входом, генерирует заголовок Link, который в случае NGINX я могу просто превратить в HTTP2-сервер (пояснение здесь). Есть ли такое же решение для Traefik? Или возможно ли перейти на NGINX в K3S?
3 ответа
HTTP2 Push еще не поддерживается в Traefik. Посмотрите открытый выпуск GitHub #906 для прогресса в этом вопросе.
Тем не менее, вы можете безопасно переключиться на входной контроллер nginx для выполнения HTTP2 push
а) helm install stable/nginx-ingress
б) в вашем входе yaml установите соответствующую аннотацию
metadata:
annotations:
kubernetes.io/ingress.class: nginx
Вероятно, вам не нужен HTTP/2 Server Push, поскольку он удаляется из Chromium. Если вы хотите переключить контроллеры входа, вы можете выбрать другой:
- Запуск K3s с
--disable traefik
вариант. - Добавление другого контроллера, такого как NGINX или Ambassador
Подробные инструкции по добавлению амбассадора в K3s см. по следующей ссылке: https://rancher.com/blog/2020/deploy-an-ingress-controllers .
Я не знаю об этом HTTP2 в traefik, но вы можете просто сказать k3s не запускать traefik и не использовать свой входной контроллер: