Мы хотим использовать docker swarm с Elasticsearch в контейнерах. Это несколько экземпляров Elasticsearch на разных хостах Docker, которые работают в рое.
Однако мы хотели бы использовать большую подсеть, а затем ограничить доступ между контейнерами для каждого контейнера. Это возможно?
Например:
Host 1: Host 2:
192.168.1.10 192.168.1.11
- Elasticsearch-node1<----------------------->Elasticsearch-node2
192.168.1.12 192.168.1.13
- Elasticsearch-node3<----------------------->Elasticsearch-node4
В приведенном выше примере все контейнеры используют сеть 192.168.1.0/24, но мы хотим ограничить доступ, чтобы node1 мог взаимодействовать только с node2, а не node3 или node4. Как бы мы этого добились?
Вы можете добиться разделения между сервисами в одной и той же оверлейной сети, используя Consul Connect, но это увеличивает количество движущихся частей в вашей системе.
В чем причина того, что вы не можете поместить службы в отдельные оверлейные сети?