Белый IP-адрес для доступа к развертыванию с помощью входа в Kubernetes Istio

Я пытаюсь внести в белый список IP-адрес для доступа к развертыванию в моем кластере Kubernetes.

Я искал некоторую документацию онлайн об этом, но я нашел только

ingress.kubernetes.io/whitelist-source-range

для входа, чтобы предоставить доступ к определенному диапазону IP. Но все же мне не удалось изолировать развертывание.

Вот входной файл конфигурации YAML:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-internal
  annotations:
    kubernetes.io/ingress.class: "istio"
    ingress.kubernetes.io/whitelist-source-range: "xxx.xx.xx.0/24, xx.xxx.xx.0/24"
spec:
  rules:
  - host: white.example.com
    http:
      paths:
      - backend:
          serviceName: white
          servicePort: 80

Я могу получить доступ к развертыванию с моего белого IP-адреса и с мобильного телефона (другой IP-адрес не указан в конфигурации)

Кто-нибудь входил в ту же проблему, используя Ingress и Istio?

Любая помощь, подсказка, документы или альтернативная конфигурация будут высоко оценены.

2 ответа

Посмотрите на обзор аннотаций, кажется, что whitelist-source-range istio не поддерживается:

whitelist-source-range: Отдельный запятый список IP-адресов, к которым разрешен доступ.

nginx, haproxy, сервер трафика

Мне удалось решить проблему с использованием ip-адреса белого списка для моей службы на основе istio (приложение, использующее прокси istio и открытое через входной шлюз istio через общедоступный LB) с помощью NetworkPolicy.

Для моего случая вот топология:

Публичный балансировщик нагрузки (в GKE, с использованием режима preserve clientIP) ==> Отдельные модули контроллера шлюза Istio (см. Мой ответ здесь) ==> Мои модули (контейнер боковой панели istio-proxy, мой основной контейнер).

Итак, я настроил 2 сетевые политики:

  1. NetworkPolicy, которая защищает входящее соединение от интернет-соединения до моих контроллеров Istio Ingress Gateway Controller. В моей конфигурации сетевой политики мне просто нужно установить spec.podSelector.matchLabels поле к ярлыку модуля выделенного контроллера шлюза Istio Ingress.

  2. Еще одна NetworkPolicy, которая ограничивает входящее соединение с моим Развертыванием -> только из модулей / развертываний контроллера шлюза Istio Ingress.

Другие вопросы по тегам