You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by MJ <67...@qq.com> on 2021/11/15 00:50:02 UTC

client node connects to server nodes behind NAT

Hi,


Is that possible for a non-Kubernetes&nbsp;client node connects to server nodes within Kubernetes&nbsp;?&nbsp;


have read below docs seems impossible&nbsp;
https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes



Have tried with thin client outside of Kubernetes - that works fine
client node(thick client) - always throw exceptions, most likely the internal ips bebind NAT cannot be detected from external , is there any workaround to implement that non-Kubernetes&nbsp;client node connects to server nodes within Kubernetes ? I'd like to utilise the power features of thick client. and They can be depoloyed everywhere if there is the way of making it.&nbsp;






Thanks,
Ma Jun

Re: Re client node connects to server nodes behind NAT

Posted by Denis Magda <dm...@apache.org>.
Hi Ma,

Streaming is supported for the thin clients (see a related discussion on
the user list). As for the peer-class-loading support, not sure that it's
coming. As an alternative, you can implement the UriDeploymentSpi interface
that will load/reload code from your custom location/repository:
https://ignite.apache.org/docs/latest/code-deployment/deploying-user-code

If you don't want to bother with the UriDeploymentSpi implementation, then
check this Deployment feature of GridGain Nebula (it will be available for
non-Nebula clusters through the same Control Center interface soon). That
feature implements the UriDeploymentSpi:
https://www.youtube.com/watch?v=8hS1ux1d3Ck&list=PLMc7NR20hA-J5tnwx-ltnBB9X-gF8cP9S&index=2

Finally, as Max suggested, configure the thick client and server nodes
following this documentation:
https://ignite.apache.org/docs/latest/clustering/running-client-nodes-behind-nat
(it should solve your networking problems).

-
Denis


On Tue, Nov 16, 2021 at 2:53 AM Maksim Timonin <ti...@gmail.com>
wrote:

> Hi!
>
> Unfortunately, support of peer class loading and data streams is limited
> for thin clients. AFAIK, .Net thin client supports data streamer.
>
> I found that Ignite has a special mode of running client nodes
> `forceClientToServerConnections` [1]. But this feature is marked as
> experimental since 2.9 and I don't see any updates there. Actually, I'm not
> aware about this feature much. I found the feature discussion on dev list
> [2]. Maybe somebody from the community can say more about this feature. But
> looks like it can be a solution in your case.
>
> [1]
> https://ignite.apache.org/docs/latest/clustering/running-client-nodes-behind-nat
> [2] https://www.mail-archive.com/dev@ignite.apache.org/msg44990.html
>
> On Mon, Nov 15, 2021 at 12:15 PM MJ <67...@qq.com> wrote:
>
>> That would be peer class loading && data stream .
>>
>> Thanks
>>
>> ------------------ 原始邮件 ------------------
>> *发件人:* "user" <ti...@gmail.com>;
>> *发送时间:* 2021年11月15日(星期一) 下午3:59
>> *收件人:* "user"<us...@ignite.apache.org>;
>> *主题:* Re: client node connects to server nodes behind NAT
>>
>> Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1],
>> you're welcome :)
>>
>> But, a thick client is part of topology, and it has to be able to connect
>> every node in the cluster directly, then thick clients have to be run
>> within the same kubernetes cluster. Thin clients were designed to eliminate
>> this problem.
>>
>> What features of thick clients do you want to use?
>>
>> [1] https://ignite-summit.org/sessions/293596
>>
>> On Mon, Nov 15, 2021 at 3:50 AM MJ <67...@qq.com> wrote:
>>
>>> Hi,
>>>
>>> Is that possible for a non-Kubernetes client node connects to server
>>> nodes within Kubernetes ?
>>>
>>> have read below docs seems impossible
>>>
>>> https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes
>>>
>>> Have tried with thin client outside of Kubernetes - that works fine
>>> client node(thick client) - always throw exceptions, most likely the
>>> internal ips bebind NAT cannot be detected from external , is there any
>>> workaround to implement that non-Kubernetes client node connects to server
>>> nodes within Kubernetes ? I'd like to utilise the power features of thick
>>> client. and They can be depoloyed everywhere if there is the way of making
>>> it.
>>>
>>>
>>>
>>> Thanks,
>>> Ma Jun
>>>
>>

Re: Re client node connects to server nodes behind NAT

Posted by Maksim Timonin <ti...@gmail.com>.
Hi!

Unfortunately, support of peer class loading and data streams is limited
for thin clients. AFAIK, .Net thin client supports data streamer.

I found that Ignite has a special mode of running client nodes
`forceClientToServerConnections` [1]. But this feature is marked as
experimental since 2.9 and I don't see any updates there. Actually, I'm not
aware about this feature much. I found the feature discussion on dev list
[2]. Maybe somebody from the community can say more about this feature. But
looks like it can be a solution in your case.

[1]
https://ignite.apache.org/docs/latest/clustering/running-client-nodes-behind-nat
[2] https://www.mail-archive.com/dev@ignite.apache.org/msg44990.html

On Mon, Nov 15, 2021 at 12:15 PM MJ <67...@qq.com> wrote:

> That would be peer class loading && data stream .
>
> Thanks
>
> ------------------ 原始邮件 ------------------
> *发件人:* "user" <ti...@gmail.com>;
> *发送时间:* 2021年11月15日(星期一) 下午3:59
> *收件人:* "user"<us...@ignite.apache.org>;
> *主题:* Re: client node connects to server nodes behind NAT
>
> Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1],
> you're welcome :)
>
> But, a thick client is part of topology, and it has to be able to connect
> every node in the cluster directly, then thick clients have to be run
> within the same kubernetes cluster. Thin clients were designed to eliminate
> this problem.
>
> What features of thick clients do you want to use?
>
> [1] https://ignite-summit.org/sessions/293596
>
> On Mon, Nov 15, 2021 at 3:50 AM MJ <67...@qq.com> wrote:
>
>> Hi,
>>
>> Is that possible for a non-Kubernetes client node connects to server
>> nodes within Kubernetes ?
>>
>> have read below docs seems impossible
>>
>> https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes
>>
>> Have tried with thin client outside of Kubernetes - that works fine
>> client node(thick client) - always throw exceptions, most likely the
>> internal ips bebind NAT cannot be detected from external , is there any
>> workaround to implement that non-Kubernetes client node connects to server
>> nodes within Kubernetes ? I'd like to utilise the power features of thick
>> client. and They can be depoloyed everywhere if there is the way of making
>> it.
>>
>>
>>
>> Thanks,
>> Ma Jun
>>
>

Re client node connects to server nodes behind NAT

Posted by MJ <67...@qq.com>.
That would be peer class loading &amp;&amp; data stream .&nbsp;


Thanks


------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user"                                                                                    <timonin.maxim@gmail.com&gt;;
发送时间:&nbsp;2021年11月15日(星期一) 下午3:59
收件人:&nbsp;"user"<user@ignite.apache.org&gt;;

主题:&nbsp;Re: client node connects to server nodes behind NAT



Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1], you're welcome :)

But, a thick&nbsp;client&nbsp;is part of topology, and it has to be able to connect every node in the cluster directly, then thick clients have to&nbsp;be run within the same kubernetes cluster. Thin clients were designed to eliminate this&nbsp;problem.


What features of thick clients do you want to use?


[1]&nbsp;https://ignite-summit.org/sessions/293596



On Mon, Nov 15, 2021 at 3:50 AM MJ <6733471@qq.com&gt; wrote:

Hi,


Is that possible for a non-Kubernetes&nbsp;client node connects to server nodes within Kubernetes&nbsp;?&nbsp;


have read below docs seems impossible&nbsp;
https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes



Have tried with thin client outside of Kubernetes - that works fine
client node(thick client) - always throw exceptions, most likely the internal ips bebind NAT cannot be detected from external , is there any workaround to implement that non-Kubernetes&nbsp;client node connects to server nodes within Kubernetes ? I'd like to utilise the power features of thick client. and They can be depoloyed everywhere if there is the way of making it.&nbsp;






Thanks,
Ma Jun

Re: client node connects to server nodes behind NAT

Posted by Maksim Timonin <ti...@gmail.com>.
Hi, I'll touch on a similar topic a little tomorrow on IgniteSummit [1],
you're welcome :)

But, a thick client is part of topology, and it has to be able to connect
every node in the cluster directly, then thick clients have to be run
within the same kubernetes cluster. Thin clients were designed to eliminate
this problem.

What features of thick clients do you want to use?

[1] https://ignite-summit.org/sessions/293596

On Mon, Nov 15, 2021 at 3:50 AM MJ <67...@qq.com> wrote:

> Hi,
>
> Is that possible for a non-Kubernetes client node connects to server nodes
> within Kubernetes ?
>
> have read below docs seems impossible
>
> https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment#connecting-client-nodes
>
> Have tried with thin client outside of Kubernetes - that works fine
> client node(thick client) - always throw exceptions, most likely the
> internal ips bebind NAT cannot be detected from external , is there any
> workaround to implement that non-Kubernetes client node connects to server
> nodes within Kubernetes ? I'd like to utilise the power features of thick
> client. and They can be depoloyed everywhere if there is the way of making
> it.
>
>
>
> Thanks,
> Ma Jun
>