Возможно ли запустить узлы akka за NAT (каждый узел находится за отдельным nat, общественный порт DNAT'ed для частного доступа)? В настоящее время я пытаюсь развернуть узлы akka в контейнере докеров. Docker - это открытый порт общего доступа к частному порту экземпляра, проблема в том, что адрес узла akka создается из akka.remote.netty.tcp.hostname, но в окружении, отличном от общедоступного имени хоста. сообщение, поступающее из открытого интерфейса, отклонено, потому что akka привязан к private ip. Можно ли изменить адрес узлов akka, не уважая akka.remote.netty.tcp.hostname, позволяет сказать, что текущий адрес узлов - это akka.tcp: //[email protected]: 2551, где 172.16.10.5 - akka.remote.netty .tcp.hostname, но я хочу изменить его на akka.tcp: //[email protected]: 2551, где 10.2.0.222 является общедоступным адресом, но akka все равно должен прослушивать 172.16.10.5:2551.узлы кластера akka за NAT (с помощью докеров)
5
A
ответ
2
Возможно, вы можете поручить Akka или Netty привязываться по определенному адресу и порту, но объявить себя на другом. Я не понимаю Акку или Нетти достаточно хорошо, чтобы узнать, возможно ли это.
В противном случае, есть три вещи, которые вы можете попробовать:
- проверить, если они могут объявить данный IP-адрес (один из хост), но по-прежнему связываются с
0.0.0.0
, а затем сделать «порт идентичности «привязка», т.е.docker run -p 1234:1234 …
, которая будет выставлять порт 1234 вне контейнера на порт 1234 внутри контейнера (таким образом, немного уменьшая NAT); - Разверните кластер на одном хосте Docker и используйте внутренние IP-адреса - вы не сможете масштабировать до нескольких компьютеров, но для проверки распределенного кода между его развертыванием в более крупную систему, которая уже может помочь;
- Pipework, который позволяет добавлять дополнительные интерфейсы к контейнерам и объединять несколько контейнеров (на нескольких хостах) вместе в одной сети. Док-станция не поддерживается официальной поддержкой Docker, но многие люди считают ее очень полезной для подобных сценариев.
2
Да, это возможно - вам нужно настроить bind-host
и bind-port
для удаленного доступа в дополнение к обычному host
и port
.
How to configure Akka behind NAT из документов Акка.
Родная поддержка для этого отсутствует с Akka 2.4.x; и 2.3.11 для Typesafe subscription customers.
Смежные вопросы
- 1. Узлы кластера Akka с актерами оставляют
- 2. Последовательность узлов кластера Akka
- 3. Как узлы akka обнаруживают другие узлы?
- 4. Как запустить кластер кластера akka?
- 5. Соедините ip за nat с помощью сокетов
- 6. Ошибка кластера Akka
- 7. Система мониторинга кластера Akka
- 8. Узлы обновления кластера Hazelcast
- 9. Игнорировать синхронизацию TimeServer за NAT
- 10. Настройка кластера Akka с фреймворком воспроизведения
- 11. ARP за маршрутизатором с NAT?
- 12. Как соединяются узлы IaaS для формирования кластера?
- 13. виртуальных узлы-фактор для АККИ узлов кластера в конфигурации кластера Akka
- 14. Конфигурация кластера - рабочие узлы
- 15. Akka: Как найти текущие узлы в кластере?
- 16. Каков наилучший способ получить членов кластера Akka?
- 17. Сессии за брандмауэром - NAT
- 18. AKKA (V2.3.9) Интеграция с весной :: Отключение кластера с удаленными маршрутизаторами из-за ошибки серийной сортировки Spring
- 19. Akka кластера удалить сердцебиения соединение сообщение
- 20. TCP-соединение за NAT
- 21. Обновление данных точек входа кластера akka
- 22. Доккер-приложение для докеров Akka-Http недоступно
- 23. Akka Удаленные узлы контактной точки должны работать?
- 24. Узлы данных кластера MySQL - медленные SELECTs
- 25. Как запустить сервер Akka-HTTP внутри кластера Akka?
- 26. Как получить ip за NAT с помощью php?
- 27. Как подключиться к серверу за NAT с помощью mosh
- 28. Proxmox - виртуальная машина за NAT
- 29. Репликация кольца MySQL за NAT
- 30. Разрешить маршрутизацию докеров 172.17.0.0/16 через сеть без NAT?
похоже, что трубопровод может сделать трюк, я могу сделать мост между физическим интерфейсом и интерфейсом контейнеров докеров и подключить узел докеры к основной сети без использования NAT – frx
Вариант 1 (привязка к 0.0.0.0) невозможен с помощью akka 2.3, но будет возможно с akka 2.4 с параметром «bind-hostname», представленным в https://github.com/akka/akka/issues/15007 –