Внутренний входной контроллер nginx Kubernetes с завершением SSL & ssl-passthrough - PullRequest
0 голосов
/ 29 октября 2019

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

Сейчас у нас есть внешние (общедоступные) и внутренние контроллеры. Где общедоступные разрешают SSL-сквозную передачу, а внутренние имеют SSL-завершение. Мне также сказали, что nginx - это обратный прокси-сервер, и он работает на основе заголовков в URL.

Я надеюсь, что кто-нибудь может мне помочь в этой схеме управления, которая у меня есть для внутренних контроллеров входа. В настоящее время у меня сложилось впечатление, что использование SSL-терминации и SSL-сквозной передачи на одних и тех же входных контроллерах было бы невозможным. Ответил сам: https://serversforhackers.com/c/tcp-load-balancing-with-nginx-ssl-pass-thru

Наш текущий (внутренний) код доступа:

---

rbac:
  create: true

controller:
  ingressClass: nginx-internal
  service:
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
      service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:eu:110:certificate/62-b3
      service.beta.kubernetes.io/aws-load-balancer-ssl-ports: !!str 443
      service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
      service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: !!str 3600

    targetPorts:
      https: 80

  replicaCount: 3

defaultBackend:
  replicaCount: 3

Могу ли я просто добавить следующее? :

controller:
    extraArgs:
        enable-ssl-passthrough: ""

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

Кроме того, я обнаружил следующее: Ingress и SSL Passthrough

Могу ли я просто пойти и смешать аннотации? Или аннотации заботятся только о «верхнем доменном уровне», откуда происходит аннотация? Например:

service.beta.kubernetes.io
nginx.ingress.kubernetes.io

Оба происходят из домена kubernetes.io, или субдомен имеет значение? Я имею в виду: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md На этой странице нет ни одной аннотации service.beta.

В чем разница между конфигурацией ssl-passthrough extraArg и конфигурацией ssl-passthrough ваннотации?

В основном я ищу ответ о том, как заставить работать SSL-сквозную передачу без прерывания SSL-завершения на внутренних входных контроллерах. Тем не менее, любая дополнительная информация, чтобы получить больше понимания и знаний, что касается моих других вопросов, также будет очень признателен:)

...