Как настроить архитектуру масштабируемых пользовательских доменов и авто-SSL в Google Kubernetes Engine
Мы ищем лучшее решение, позволяющее клиентам использовать свои доменные имена с нашими услугами хостинга. Услуги хостинга основаны на стандарте Google App Engine. Требования следующие:
- Клиенты могут указать свое доменное имя на наш сервер через запись CNAME или A
- Наш сервер должен иметь возможность автоматически генерировать для них сертификаты SSL с помощью Let's Encrypt
- Наш сервер должен иметь возможность обрабатывать пользовательские сертификаты SSL, загруженные клиентами
- Должен быть надежным и надежным при добавлении новых клиентов (новых confs, SSL-сертификатов и т. Д.) На наши серверы
- Должен быть масштабируемым и может обрабатывать большое количество пользовательских доменов и трафика (например, от 0 до 10000)
- Минимальные эксплуатационные расходы (чем меньше времени требуется на обслуживание инфраструктуры, тем лучше)
Кажется, что Google Kubernetes Engine (ранее известный как Google Container Engine) будет направлением. Есть ли конкретный, проверенный способ его настройки? Любые предложения / обмен опытом будут оценены.
1 ответ
Я бы рекомендовал перейти по этой ссылке, чтобы начать настройку кластера GKE.
Для вашей цели SSL на GKE я бы рекомендовал создать Ingress, как указано в этой ссылке, который автоматически создает ресурс Loadbalancer в GCP, если вы используете входной контроллер GLBC по умолчанию. Конечная конфигурация LB (порты, правила пути к хосту, сертификаты, внутренние службы и т. Д.) Определяется конфигурацией самого объекта Ingress. Вы можете указать домен имя домена на IP-адрес Loadbalancer.
Если вы хотите настроить свой Ingress (и, следовательно, полученный LB) на использование сертификатов, созданных с помощью Let's Encrypt, вы бы изменили конфигурацию, представленную в YAML входа. Для фактической интеграции Let's Encrypt для Kubernetes это на самом деле возможно с помощью службы под названием cert-manager, чтобы автоматизировать процесс получения сертификатов TLS / SSL и хранить их в секретах. Эта ссылка показывает, как использовать cert-manager с GKE.
Если вы хотите использовать SSL-сертификаты с самостоятельным управлением, перейдите по этой ссылке для получения дополнительной информации. GKE масштабируется за счет автоматического масштабирования кластеров GKE, который автоматически изменяет размеры кластеров в зависимости от требований рабочих нагрузок, которые вы хотите запустить.