Как я могу назначить SSL-сертификаты региональному ip, который является балансировщиком нагрузки для сервиса kubernetes?

У меня есть сервис kubernetes, который я поставил за балансировщиком нагрузки. Балансировщик нагрузки находится на региональном статическом IP. Причина, по которой я не могу использовать глобальный IP-адрес, заключается в том, что когда я назначаю его своему сервису, он отказывается принять его. Другие столкнулись с той же проблемой.

Я пытаюсь назначить сертификат SSL для созданного балансировщика нагрузки TCP (региональный IP-адрес), но в конфигурации внешнего интерфейса я не вижу опции.

Если я использую глобальный IP, я вижу возможность создать / назначить сертификат, но моя служба отклоняет IP, как показано в ссылке выше. Как я могу назначить SSL-сертификаты региональному ip, который является балансировщиком нагрузки для службы kubernetes? или если вы знаете, как мой сервис принимает балансировщик нагрузки на глобальном IP для службы kubernetes, пожалуйста, дайте мне знать.

Примечание. Я отключил стандартный входной контроллер gce и использую свой собственный входной контроллер. Так что он не создает внешний IP автоматически.

1 ответ

Решение

Если вы используете региональный балансировщик TCP, тогда просто невозможно назначить сертификат балансировщику нагрузки, потому что он работает на уровне 4 (TCP), а SSL - на уровне 7. Поэтому вы не видите опцию назначения сертификата.

Вам необходимо назначить сертификаты SSL на уровне входного контроллера следующим образом:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo
  namespace: default
spec:
  tls:
  - hosts:
    - foo.bar.com
    secretName: foo-secret
  rules:
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: foo
          servicePort: 80
        path: /
Другие вопросы по тегам