#istio #amazon-eks #istio-sidecar
#istio #amazon-eks #istio-коляска
Вопрос:
Я установил частный кластер EKS, в котором подключенные подсети являются частной подсетью. Мое требование — «Приватный EKS с установкой Istio» и создать несколько микросервисов и предоставить их в vpc. Я ожидал, что «istio-ingressgateway» создаст внутренний ALB, но он показывает «Ожидающий»
istio-ingressgateway LoadBalancer 1xx.x0x.xx.2xx <pending>
Мне нужно установить несколько микросервисов в разных портах, используя «NodePort», и предоставить их через шлюз.
Запросите любую помощь или просмотрите это.
Спасибо!
Комментарии:
1. По определению, частный кластер EKS использует частные VPC, поэтому он не может создавать балансировщики нагрузки, доступные в Интернете, поскольку в нем отсутствуют общедоступные подсети
2. спасибо, что нашли время для комментариев!. я подумал, что если я получу внутренний адрес ALB, то в vpc я смогу маршрутизировать трафик с разных портов узла, например: <internalalb:порт узла microservice1> вот так. есть идеи, как это сделать?
3. О, да, вы можете использовать внутренний балансировщик нагрузки, собираясь опубликовать инструкции, сек
Ответ №1:
У вас есть 2 варианта, вы можете использовать контроллер входа ALB и создать внутренний объект входа и добавить аннотацию:
alb.ingress.kubernetes.io/scheme: "internal"
или создайте службу балансировки нагрузки, которая создаст ELB. Добавьте эти аннотации в службу:
service.beta.kubernetes.io/aws-load-balancer-internal
: Используется в сервисе для указания того, что нам нужен внутренний ELB.
service.beta.kubernetes.io/aws-load-balancer-security-groups
: Используется для указания групп безопасности, которые будут добавлены в созданный ELB. Это заменяет все другие группы безопасности, ранее назначенные ELB.
Например,
Кроме того, вам нужны эти теги в подсетях VPC:
Key: kubernetes.io/role/internal-elb
Value: 1
В вашем случае выберите вариант 2.
Комментарии:
1. Я понял вашу точку зрения. но моя цель — создать сервис как «порт узла» и шлюз istio .т.е. istio: ingressgateway использует балансировщик нагрузки, чтобы я мог получить доступ к каждому микросервису через <URL-адрес балансировщика нагрузки istio: порт узла>. но когда я смотрю «kubectl get svc -n istio-system», я всегда получаю балансировщик нагрузки как <ожидающий> ожидаемый внутренний адрес alb здесь
2. Не рекомендуется предоставлять какой-либо сервис как порт узла, рекомендуется только для целей тестирования
3. Но проблема здесь в том, что у меня есть 10-12 микросервисов, поэтому, если я разверну с помощью service Loadbalancer, мне нужно создать 10-12 ALB, верно? что слишком дорого
4. Ну, вашим первым требованием было наличие внутреннего балансировщика нагрузки, если вы сделаете это с внутренней аннотацией службы, вам действительно понадобится по одному на службу, в случае, если вы используете внутренний вход alb (пример 1), вам просто нужен один ALB на пространство имен