Используете "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, я попытался (но безуспешно):
- Заканчивается ошибками "CIPHER MISMATCH" при обслуживании через само приложение Golang (затем просто делает общий балансировщик нагрузки TCP для кластера узлов)... https://godoc.org/golang.org/x/crypto/acme/autocert
- Этот метод тоже не работал: https://github.com/ahmetb/gke-letsencrypt
... Есть ли у кого-нибудь предложения о том, как обслуживать только HTTPS для оригинального урока? Нет необходимости в простом HTTP, если это не халява, но я действительно ломаю голову над этим, так как раньше я не работал с Kubernetes, и у меня не было возможности заставить Let's Encrypt работать здесь вообще.
1 ответ
Итак, получается, что вы можете просто добавить TLS прямо на балансировщик нагрузки, и он автоматически выдаст сертификат Let's Encrypt. Это можно сделать через Cloud Console:
Понятия не имею, почему это не так хорошо известно.
Вы можете следовать инструкциям здесь, чтобы создать Kubernetes Ingress с сертификатом, управляемым Google. На высоком уровне это включает два этапа:
- Создайте ресурс ManagedCertificate (это бета-функция в GKE)
- Использовать
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 сертификат в свой балансировщик нагрузки. Конечный результат по сути один и тот же, независимо от того, какой метод вы используете.