Белый 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 сетевые политики:
NetworkPolicy, которая защищает входящее соединение от интернет-соединения до моих контроллеров Istio Ingress Gateway Controller. В моей конфигурации сетевой политики мне просто нужно установить
spec.podSelector.matchLabels
поле к ярлыку модуля выделенного контроллера шлюза Istio Ingress.Еще одна NetworkPolicy, которая ограничивает входящее соединение с моим Развертыванием -> только из модулей / развертываний контроллера шлюза Istio Ingress.