[ 
https://issues.apache.org/jira/browse/IGNITE-13796?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maksim Timonin updated IGNITE-13796:
------------------------------------
    Description: 
Docs related to the ticket IGNITE-13204. Before this change it was impossible 
to rely on partition awareness feature [1] on thin clients within Kubernetes 
environment. The reason was a Kubernetes cluster can scale dynamically but thin 
client was able to configure only static list of addresses in moment of start. 
The ticket fix it, provide opportunity to dynamically change list of addresses 
known to thin clients. That ticket relates only to thin clients started 
*within* Kubernetes cluster. Thin clients that are running outside of 
Kubernetes cluster must be configured the same way as before (with static list 
of addresses, usually it is an address of Ingress or other load balancer), it's 
impossible to provide partition awareness feature for them as there are no 
directly access to pods.

The ticket:

1. Introduced class KubernetesConnectionConfiguration that represents common 
settings to connect within Kubernetes cluster.

2. There are 2 classes that use the configuration class to configure the 
connection: 
 * TcpDiscoveryKubernetesIpFinder is responsible to configure Ignite nodes.
 * ThinClientKubernetesAddressFinder is responsible to configure Thin clients 
in case when partition awareness feature is enabled.

3. ClientAddressFinder interface that provides dynamic list of address to thin 
client. Generally, every user can implement this interface and provide dynamic 
list of addresses in any environment. Ignite provides the only implementation 
of this interface - ThinClientKubernetesAddressFinder class, that works for 
Kubernetes environment.

 

There was a refactoring of TcpDiscoveryKubernetesIpFinder to enable to use it 
this configuration class, so some methods of the Finder are marked as 
deprecated.

[1] 
[https://ignite.apache.org/docs/latest/thin-clients/java-thin-client#partition-awareness]

  was:
Docs related to the ticket IGNITE-13204. Before this change it was impossible 
to rely on partition awareness feature [1] on thin clients within Kubernetes 
environment. The reason was a Kubernetes cluster can scale dynamically but thin 
client was able to configure only static list of addresses in moment of start. 
The ticket fix it, provide opportunity to dynamically change list of addresses 
known to thin clients. That ticket relates only to thin clients started 
*within* Kubernetes cluster. Thin clients that are running outside of 
Kubernetes cluster must be configured the same way as before (with static list 
of addresses, usually it is an address of Ingress or other load balancer), it's 
impossible to provide partition awareness feature for them as there are no 
directly access to pods.

The ticket:

1. Introduced  class KubernetesConnectionConfiguration that represents common 
settings to connect within Kubernetes cluster.

2. There are 2 classes that use the configuration class to configure the 
connection: 
 * TcpDiscoveryKubernetesIpFinder is responsible to configure Ignite nodes.
 * ThinClientKubernetesAddressFinder is responsible to configure Thin clients 
in case when partition awareness feature is enabled.

There was a refactoring of TcpDiscoveryKubernetesIpFinder to enable to use it 
this configuration class, so some methods of the Finder are marked as 
deprecated.

[1] 
https://ignite.apache.org/docs/latest/thin-clients/java-thin-client#partition-awareness


> Update docs for the kubernetes module
> -------------------------------------
>
>                 Key: IGNITE-13796
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13796
>             Project: Ignite
>          Issue Type: New Feature
>    Affects Versions: 2.10
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Docs related to the ticket IGNITE-13204. Before this change it was impossible 
> to rely on partition awareness feature [1] on thin clients within Kubernetes 
> environment. The reason was a Kubernetes cluster can scale dynamically but 
> thin client was able to configure only static list of addresses in moment of 
> start. The ticket fix it, provide opportunity to dynamically change list of 
> addresses known to thin clients. That ticket relates only to thin clients 
> started *within* Kubernetes cluster. Thin clients that are running outside of 
> Kubernetes cluster must be configured the same way as before (with static 
> list of addresses, usually it is an address of Ingress or other load 
> balancer), it's impossible to provide partition awareness feature for them as 
> there are no directly access to pods.
> The ticket:
> 1. Introduced class KubernetesConnectionConfiguration that represents common 
> settings to connect within Kubernetes cluster.
> 2. There are 2 classes that use the configuration class to configure the 
> connection: 
>  * TcpDiscoveryKubernetesIpFinder is responsible to configure Ignite nodes.
>  * ThinClientKubernetesAddressFinder is responsible to configure Thin clients 
> in case when partition awareness feature is enabled.
> 3. ClientAddressFinder interface that provides dynamic list of address to 
> thin client. Generally, every user can implement this interface and provide 
> dynamic list of addresses in any environment. Ignite provides the only 
> implementation of this interface - ThinClientKubernetesAddressFinder class, 
> that works for Kubernetes environment.
>  
> There was a refactoring of TcpDiscoveryKubernetesIpFinder to enable to use it 
> this configuration class, so some methods of the Finder are marked as 
> deprecated.
> [1] 
> [https://ignite.apache.org/docs/latest/thin-clients/java-thin-client#partition-awareness]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to