Используете "Let's Encrypt" TLS с Google Load Balancer? (Kubernetes/ ГКЭ)

Я пытался протестировать Kubernetes в Google Cloud, но мне потребуется HTTPS/TLS (только), показанный в развернутом приложении. Для начала я просто следовал этому руководству, которое отлично работало для простого HTTP через порт 80: https://cloud.google.com/kubernetes-engine/docs/quickstart

Чтобы поддержка TLS работала с Let's Encrypt, я попытался (но безуспешно):

... Есть ли у кого-нибудь предложения о том, как обслуживать только HTTPS для оригинального урока? Нет необходимости в простом HTTP, если это не халява, но я действительно ломаю голову над этим, так как раньше я не работал с Kubernetes, и у меня не было возможности заставить Let's Encrypt работать здесь вообще.

1 ответ

Решение

Итак, получается, что вы можете просто добавить TLS прямо на балансировщик нагрузки, и он автоматически выдаст сертификат Let's Encrypt. Это можно сделать через Cloud Console:

Понятия не имею, почему это не так хорошо известно.

Вы можете следовать инструкциям здесь, чтобы создать Kubernetes Ingress с сертификатом, управляемым Google. На высоком уровне это включает два этапа:

  1. Создайте ресурс ManagedCertificate (это бета-функция в GKE)
  2. Использовать networking.gke.io/managed-certificates аннотация в манифесте Ingress, указывающая на управляемый сертификат, созданный на шаге 1

Google автоматически создаст для вас сертификат, используя один из двух центров сертификации. Если вы непреклонны в использовании Let's Encrypt, вы можете добавить запись CAA в свою зону DNS следующим образом:

your_domain. CAA 0 issue "letsencrypt.org"

В качестве альтернативы, если ваше приложение уже запущено и работает в GKE и находится за существующим Global HTTP Load Balancer, вы можете следовать инструкциям здесь, чтобы добавить управляемый Google сертификат в свой балансировщик нагрузки. Конечный результат по сути один и тот же, независимо от того, какой метод вы используете.

Другие вопросы по тегам