Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-13796

Update docs for the kubernetes module

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.10
    • 2.10
    • documentation
    • Docs Required, Release Notes Required

    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. Introduced 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. This interface should be useful for any scaling 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

      Attachments

        Issue Links

          Activity

            People

              nsafonov Nikita A. Safonov
              timonin.maksim Maksim Timonin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 5h 40m
                  5h 40m