#azure #kubernetes #istio #azure-load-balancer
#azure #kubernetes #istio #azure-балансировщик нагрузки
Вопрос:
У меня есть кластер Azure kubernetes с сетью служб Istio.
В настоящее время контроллер Istio связан с общедоступным IP-адресом балансировщика нагрузки. Я хочу настроить Istio с помощью внутреннего балансировщика нагрузки. Я бы использовал сопоставление брандмауэра для общедоступного IP-адреса с внутренним LB.
Как настроить контроллер Istio для использования внутреннего балансировщика нагрузки?
Комментарии:
1. добавить внутреннюю аннотацию lb к сервису?
2. Не могли бы вы помочь мне с примером? Или перенаправьте меня на ресурсы.
3. 5 секунд в Google: learn.microsoft.com/en-us/azure/aks/internal-lb
4. @KarthikeyanVijayakumar, вам удалось решить проблему с аннотацией?
Ответ №1:
С istio 1.7 вы можете использовать IstioOperator
.
Создайте файл values.yml:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
profile: default #or demo
components:
ingressGateways:
- name: istio-ingressgateway
enabled: true
k8s:
serviceAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
Теперь установите istio с помощью команды istioctl install -f values.yml
.
Входной шлюз теперь получит внутренний балансировщик нагрузки с IP-адресом виртуальной сети кластеров в качестве внешнего IP-адреса. При этом кластер доступен только из виртуальной сети или из виртуальных сетей, подключенных к кластерам.
Если вы хотите иметь фиксированный IP-адрес, выберите неиспользуемый (здесь, например, 10.30.09.20) из виртуальной сети кластеров и добавьте:
[...]
k8s:
serviceAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service:
loadBalancerIP: 10.30.09.20
Вы можете проверить, доступен ли / не используется IP-адрес с помощью командной строки az:
az network vnet check-ip-address -g MyResourceGroup -n MyVnet --ip-address 10.30.09.20