Рейтинг:0

Как создать внутренний балансировщик нагрузки уровня 4 в Kubernetes?

флаг au

Я пытаюсь создать внутренний (без внешнего IP) балансировщик нагрузки уровня 4 в AWS — либо сетевой LB, либо классический LB — для внутреннего управления трафиком вместо использования kube-proxy.

Ниже приведен мой файл манифеста — он продолжает создавать внешний LB независимо от того, как я указываю аннотации.Я пробовал это без аннотации «aws-load-balancer-type», а также «aws-load-balancer-scheme», которая по умолчанию должна быть «внутренней». Я не уверен, что попробовать дальше. (Следующим я, вероятно, попробую слой 7 фунтов.)

% k получить тест svc|grep
test-internal-lb LoadBalancer 10.100.253.178 a29xxx.us-west-2.elb.amazonaws.com 80:xxx/TCP, 443:xxx/TCP 8s
апиВерсия: v1
вид: сервис
метаданные:
  имя: тест-внутренний-фунт
  аннотации:
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-scheme: внутренний
    service.beta.kubernetes.io/aws-load-balancer-type: nlb-ip
спецификация:
  тип: LoadBalancer
  селектор:
    приложение: тестовое приложение
  порты:
  - имя: http
    протокол: TCP
    порт: 80
    целевой порт: 8080
  - имя: https
    протокол: TCP
    порт: 443
    целевой порт: 8080
Nova avatar
флаг au
Похоже, это невозможно сделать в Kubernetes. Я знаю, что могу создать внутреннюю NLB или CLB с помощью интерфейса командной строки или консоли AWS и настроить правильные конфигурации и теги, но все документы, которые я нашел, устарели. Установка «aws-load-balancer-scheme» на «внутренний» не работает, как и другие конфигурации. Все они создают внешние LB.
knowdotnet avatar
флаг ne
Я также ищу исправление. Мне нужно создать частную службу балансировки нагрузки для моих модулей, и служба будет работать с API-шлюзом. Этот шлюз API будет иметь общедоступный IP-адрес.
Nova avatar
флаг au
@knowdotnet Я разместил свое решение ниже.
Рейтинг:1
флаг au

РЕШЕНИЕ:

тестовое приложение LoadBalancer 172.20.40.154 internal-a03xxx.us-west-2.elb.amazonaws.com 80:8000/TCP 11d
вид: сервис
метаданные:
  имя: тестовое приложение
  аннотации:
    service.beta.kubernetes.io/aws-load-balancer-internal: «true»
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
спецификация:
  тип: LoadBalancer
  externalTrafficPolicy: Локальный
  селектор:
    приложение: тестовое приложение
  порты:
  - имя: http
    протокол: TCP
    порт: 80
    целевой порт: 8000

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.