небольшая помощь (можно за денежку)
Исходные:
Кубернейтс в digital ocean
Есть контейнер с php-fpm и сервис поверх него. Сделал под с убунтой, из него дернул сервис внутри кубера по fastcgi, все работает.
А из ингресса почему-то не работает
2022/05/31 12:46:07 [error] 189#189: *4040355 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.114.0.6, server: <убрал>, request: "GET / HTTP/1.1", upstream: "http://<убрал>:9000/", host: "<убрал>"
upstream: "http://10.244.1.143:9000/", - тут меня смущает http
Ведь стучится он в fastcgi, но допускаю что это синтаксис логов такой просто...
metadata:
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "FCGI"
У ингресса прописана, да и вообще yaml ингресса я делал беря за основу документацию из кубера
не советую так делать. Лучше в pod с php-fpm, добавь еще nginx вторым контейнером. У тебя тогда будет нормальный самодосаточный pod, который слушает http(s). Тебе же легче будет с ним работать, как обычное http приложение. Например менять ingress controller будет проще (кроме nginx ignress controller вря-дли кто-то backend-protocol: FCGI поддерживает). Да и с fastcgi довольно много нюаснов, которые будет сложно поддерживать, если ты через ingress-controller будешь это делать То есть по опыту эксплуатации php приложений, FSCGI на уровне ingress-controller не советовал бы
А nginx внутри контейнера / пода не слишком ли жирно для просто проброса fastcgi в https?
Нет, не жирно. Вы не поверите сервис меш в сотни раз жирнее
Ок, спасибо) Думал о таком решении, но изначально посчитал его не правильным
Оно вполне стандартное
ну это экономия на спичках
Обсуждают сегодня