многоадресные пакеты udp для всех модулей kubernetes на разных узлах - PullRequest
1 голос
/ 13 января 2020

Я ищу, как отправить многоадресный пакет udp на модули в моем кластере kubernetes.

. После некоторого исследования этой проблемы я понял, что все мои модули могут видеть пакет, только если он работает на том же узле, модули, которые живут на другом узле, не могут видеть маршрутизируемый пакет,

я протестировал его на своей учетной записи gcp , я не тестировал его на других провайдерах облака k8s, которые я внедрил он использует java интеграцию с пружинной загрузкой, см. мой git репо

я реализовал два модуля

    <modules>
        <module>livefeed</module> #read packet on the network on 4444 port
        <module>livesender</module> # multicast 1 packet every 1 second
    </modules>

я сделал вид развертывания DaemonSet для убедитесь, что kubernetes планирует каждый модуль на другом узле

Я использую Spring интеграции для чтения маршрутизируемого пакета как @Bean public IntegrationFlow processUniCastUdpMessage() { return IntegrationFlows .from(new MulticastReceivingChannelAdapter("224.0.0.1", 4444)) .handle(x -> log.info(new String(((byte[]) x.getPayload())))) .get(); }

Я надеюсь, что кто-то может мне помочь, если я должен настроить vpn на gcp или что-то еще ,

1 Ответ

1 голос
/ 13 января 2020

См. этот поток , вам необходимо настроить кластер kubernetes для добавления следующей конфигурации для правильной работы многоадресной рассылки:

hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet

Надеюсь, это поможет.

...