Как я могу назначить 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: /