Как настроить архитектуру масштабируемых пользовательских доменов и авто-SSL в Google Kubernetes Engine - PullRequest
0 голосов
/ 28 декабря 2018

Мы ищем лучшее решение, которое позволит клиентам использовать свои доменные имена с нашими услугами хостинга.Услуги хостинга основаны на стандарте Google App Engine.Требования:

  1. Клиенты могут указать свое доменное имя на наш сервер через CNAME или запись A
  2. Наш сервер должен иметь возможность автоматически генерировать для них сертификаты SSL с помощью Let's Encrypt * 1006.*
  3. Наш сервер должен иметь возможность обрабатывать пользовательские сертификаты SSL, загруженные клиентами
  4. Должен быть надежным и надежным при добавлении новых клиентов (новые сертификаты, сертификаты SSL и т. Д.) На наши серверы
  5. Должен быть масштабируемым и может обрабатывать большое количество пользовательских доменов и трафика (например, от 0 до 10000)
  6. Минимальные эксплуатационные расходы (чем меньше времени требуется для обслуживания инфраструктуры, тем лучше)

Похоже, что Google Kubernetes Engine (ранее известный как Google Container Engine) будет направлением.Есть ли конкретный, проверенный способ его настройки?Буду признателен за любые предложения / обмен опытом.

1 Ответ

0 голосов
/ 28 декабря 2018

Я бы рекомендовал пройти по этой ссылке , чтобы начать настройку кластера 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 масштабируется с помощью кластера autoscaler , который автоматически изменяет размеры кластеров в зависимости от требований рабочих нагрузок, которые вы хотите запустить.

...