Google Cloud Engine: я добавил 15 сертификатов (максимально допустимое) для балансировщика нагрузки. Как мне масштабировать оттуда? - PullRequest
1 голос
/ 27 октября 2019

Я генерирую сертификаты, используя LetsEncrypt для каждого домена, который указывает их CNAME / A-запись на мой IP / домен. Затем из них генерируются секреты, указанные в разделе «tls» моего входного конфига.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: great-site
  namespace: production
  annotations:
    kubernetes.io/ingress.allow-http: 'true'
    kubernetes.io/ingress.global-static-ip-name: 'great-site-production'
spec:
  tls:
    - secretName: domain.one-2019-09-10
    - secretName: domain.two-2019-09-10
    - secretName: domain.three-2019-09-10
    - secretName: domain.four-2019-09-10
    - secretName: domain.five-2019-09-10
    - secretName: domain.six-2019-09-11
    - secretName: domain.seven-2019-10-19
    - secretName: domain.eight-2019-10-19
    - secretName: domain.nine-2019-10-20
    - secretName: domain.ten-2019-10-21
    - secretName: domain.eleven-2019-10-22
    - secretName: domain.twelve-2019-10-23
    - secretName: domain.thirteen-2019-10-24
    - secretName: domain.fourteen-2019-10-26
    - secretName: domain.fifteen-2019-10-27
  rules:
    - host: domain.one
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.two
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.three
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.four
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081

    - host: domain.five
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
   - host: domain.six
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.seven
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.eight
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.nine
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081

    - host: domain.ten
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
- host: domain.eleven
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.twelve
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.thirteen
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081
    - host: domain.fourteen
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081

    - host: domain.fifteen
      http:
        paths:
          - backend:
              serviceName: great-site-service
              servicePort: 8081

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

1 Ответ

2 голосов
/ 28 октября 2019

Вы можете использовать сертификаты Wildcard или SAN .

С сертификатом Wildcard вы можете обеспечить теоретическое неограниченное количество доменов.

При наличии сертификата SAN СА должен определить ограничение на количество доменов, которые могут быть защищены с помощью сертификата. Для LetsEncrypt как указано :

Если у вас много поддоменов, вы можете объединить их в один сертификат, но не более 100 имен на сертификат.

Дополнительную информацию можно найти в Часто задаваемых вопросах LetsEncrypt (хотя первый Q был неявно дан ответ в предыдущей цитате):

Могу ли яполучить сертификат для нескольких доменных имен (сертификаты SAN или UCC)?

Да, один и тот же сертификат может содержать несколько разных имен с использованием механизма альтернативного имени субъекта (SAN).

Выпускает ли Let's Encrypt групповые сертификаты?

Да. Выдача подстановочного знака должна выполняться через ACMEv2 с использованием запроса DNS-01. См. этот пост для получения дополнительной технической информации.

Вы можете найти здесь некоторые сведения об этом наряду с соображениями управления сертификатами, которые могут помочь вам рассмотреть эту проблему сболее ориентированная на дизайн точка зрения.

Для поддержки сертификатов Wildcard и SAN с GCP LB, пожалуйста, подтвердите официальную документацию . В то время как для сертификатов SAN, как это указано в связанной документации,

сертификаты SAN поддерживаются для балансировки нагрузки HTTPS

, можно предположить, что как управляемый Google, так и самостоятельноНаправляются управляемые сертификаты.

Для сертификатов подстановочных знаков:

Сертификаты, управляемые Google, не поддерживают использование подстановочных знаков.

В любом случае, вариант использованияИсходный постер относится к автономным сертификатам, но, как указал коллега из сообщества, было бы неплохо иметь эту последнюю часть информации здесь.

...