У меня кластер Kubernetes v1.13 с фланелью Calico + в качестве CNI. Все узлы имеют общедоступный IP-адрес и работают под управлением Ubuntu 16.04.
Некоторые узлы расположены в корпоративной сети, оба находятся в локальной сети и в демилитаризованной зоне и, следовательно, имеют доступ к внутренним службам, оставаясь при этом общедоступными. Другие размещаются на виртуальных машинах у облачного провайдера.
Рассмотрим упрощенный пример выше. Я хочу, чтобы Pod Kubernetes имел доступ к Internal Server C
(это обычный сервер, а не часть кластера). Я мог бы принудительно настроить Pod на внутреннюю Node B
, но поскольку для соединения требуются только малая задержка и пропускная способность, а на Node A
ресурсов гораздо больше, я бы предпочел использовать Node B
просто как какой-то шлюз . (Рассмотрим несколько Node B
с, поэтому SPOF фактически не существует).
В настоящее время мой подход заключается в использовании DaemonSet с селектором узлов для всех внутренних ( B ) узлов, определяющих Pod HAProxy. Эти экземпляры HAproxy могут быть доступны в качестве службы Kubernetes и перенаправлять запросы внутренним службам назначения.
Видите ли вы лучший или более простой способ реализовать соединение от Блока, расположенного в любом Узле, с целью, которая может быть достигнута только подмножеством Узлов?