Конечные точки HTTPS для локальных адресов служебной службы kubernetes после завершения SSL - PullRequest
0 голосов
/ 02 октября 2018

У меня есть кластер k8s, который находится за балансировщиком нагрузки.Запрос на myapisite.com проходит через LB и маршрутизируется k8s для правильного развертывания, получая сертификат SSL от входа балансировщика нагрузки k8s, который затем направляется на вход службы, например:

spec:
  rules:
  - host: myapisite.com
    http:
      paths:
      - backend:
          serviceName: ingress-605582265bdcdcee247c11ee5801957d
          servicePort: 80
        path: /
  tls:
  - hosts:
    - myapisite.com
    secretName: myapisitecert
status:
  loadBalancer: {}

Таким образом, myapisite.com правильно разрешает HTTPS.

Моя проблема в том, что при сохранении вышеуказанной настройки (если это возможно) мне нужно иметь возможность перейти к локальным конечным точкам службы в том же пространстве имен на HTTPS, то есть из другого модуля, я мог бы иметь возможность свернуть или сделать следующее без ошибки:

https: \\ myapisite.namespace.svc.cluster.local

Даже если бы мне было интересноне прерывая SSL до уровня pod, нельзя создать запись SAN в сертификате для адреса .local, поэтому решение не является жизнеспособным.

Есть ли какой-то простой способ, который мне не хватает, чтобы сделатьвсе локальные DNS верили в k8s?Или какое-то другое решение, которое, мы надеемся, не является изобретением колеса?Я использую kubernetes версии 1.11 с CoreDNS.

Спасибо и заранее извините, если это глупый вопрос.

1 Ответ

0 голосов
/ 02 октября 2018

Если ваше приложение может прослушивать как HTTP, так и HTTPS, вы можете настроить оба.Это означает, что вы сможете получить доступ через HTTP и HTTPS по своему усмотрению.Теперь то, как вы создаете и распространяете сертификат, - это отдельная история, но вы должны решить ее самостоятельно (возможно, используя свой собственный ЦС и храня сертификат / ключ в секрете).Если вы не хотите использовать что-то вроде Istio и его взаимную поддержку tls для защиты трафика между сервисами.

Пока вы пишете, чего хотите достичь, мы не знаем, почему.Причина такой необходимости может помочь предложить лучшее решение

...