Балансировщик нагрузки Kubernetes без селектора меток - PullRequest
0 голосов
/ 04 июня 2019

Попытка создать ресурс Laod Balancer с Kubernetes (для кластера EKS).Он обычно работает с селектором меток, но мы хотим иметь только один LB на кластер, а затем разрешить доступ к прямым службам.Вот что у меня сейчас есть:

kind: Service
apiVersion: v1
metadata:
  namespace: default
  name: name
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
spec:
  ports:
  - port: 80
  type: LoadBalancer

Это создает LB и дает ему внутренний DNS, но экземпляры никогда не выздоравливают (хотя они есть).

Любые советы

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

За обсуждение в другой вопрос , который вы опубликовали. Я думаю, что вы хотите добиться One Load Balancer Per Cluster, ссылаясь на это: Экономьте на своем счете AWS с Kubernetes Ingress .

Для этого вам нужно создать:

  1. A Load Balancer Service с Nginx-Ingress-Controller в качестве бэкэнда.
  2. Ваш Load balancer Service будет иметь внешний IP, направьте весь трафик вашего кластера на этот IP.
  3. Входящие правила, которые маршрутизируют весь трафик кластера, как вы хотите.

Таким образом, ваш трафик будет проходить по следующему конвейеру:

весь трафик -> AWS LoadBalancer -> Узел1: xxxx -> Служба Nginx-Ingress-Controller -> Модуль Nginx-Ingress-Controller -> Ваша служба1 (в соответствии с вашими правилами доступа) -> Ваш стручок

Вот пример того, как вызвать Nginx-Ingress-Controller: https://hackernoon.com/setting-up-nginx-ingress-on-kubernetes-2b733d8d2f45

0 голосов
/ 04 июня 2019

Что показывает страница мониторинга целевой группы LB на предмет сбоев? Есть ли ответы об ошибках HTTP или просто ошибки соединения? Группа безопасности для узлов K8S настроена так, чтобы разрешить вход с LB?

...