Как настроить Flask ws в Kubernetes с SSL? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть контейнерное приложение Flash (простой веб-сервис, доступный в Интернете) с включенным SSL gunicorn через:

CMD ["gunicorn", "--certfile", "/var/tmp/fullchain.pem", "--keyfile", "/var/tmp/key.pem", "__init__:create_app()", "-b", ":8080"]

У меня есть бот, который обновляет сертификаты Let's Encrypt по этому пути каждые 3 месяца.

Теперь я создаю кластер Kubernetes, чтобы поместить это приложение в оркестровку реплик.

В связанном вопросе я видел, что некоторые входные контроллеры предоставляют такую ​​функциональность создания / обновления сертификатов, поэтому мне больше не нужно отображать файлы .pem. Есть также менеджер сертификатов, который делает это.

Теперь я не знаю, нужен ли мне gunicorn или какой самый простой и рекомендуемый способ настроить его для запуска приложения. Я также нахожусь в процессе выбора входного контроллера для моего кластера.

Ответы [ 2 ]

1 голос
/ 28 июня 2019

Теоретически вам не нужно выходить из текущих настроек: приложение Flask, доступное по HTTPS.
Например, входной контроллер NGINX может передавать (зашифрованные) пакеты TLS непосредственно на вышестоящий сервер (в вашем случае Gunicorn), используя Функция SSL Passthrough .

Но определенно было бы лучше сделать это рекомендованным способом Kubernetes, с включенным TLS для Ingress (где дополнение cert-manager может помочь вам в получении сертификатов из таких источников, как Let's Encrypt)

1 голос
/ 28 июня 2019

Теперь я не знаю, нужен ли мне Gunicorn.

Gunicorn похож на java Tomcat и может также улучшить производительность для веб-сервера Python, поэтому использование Gunicorn также рекомендуется безSSL.

Если у вас есть другой сервис в том же кластере, который хочет общаться с вашим сервером Flask, и вы хотите защитить это соединение, вы должны настроить Gunicorn с SSL.Если нет, я думаю, что использовать входной контроллер с диспетчером сертификатов удобно.

Я также нахожусь в процессе выбора входного контроллера для моего кластера.

Ну,Я думаю, что cert-manager официальный документ может вам помочь, он развертывает cert-manager с входным контроллером Nginx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...