org.apache.ignite.client

## Class ThinClientKubernetesAddressFinder

- java.lang.Object
- - org.apache.ignite.client.ThinClientKubernetesAddressFinder

- All Implemented Interfaces:
    ClientAddressFinder

      public class ThinClientKubernetesAddressFinder
      extends Object
      implements ClientAddressFinder

  Address finder for automatic lookup of Ignite server nodes running in Kubernetes environment. All Ignite nodes have to be deployed as Kubernetes pods in order to be found. Applications and Ignite nodes running outside of Kubernetes will not be able to reach the containerized counterparts.

  The implementation is based on a distinct Kubernetes service. The name of the service must be set with `KubernetesConnectionConfiguration`. As for Ignite pods, it's recommended to label them in such a way that the service will target only server nodes.

  The address finder, in its turn, will call this service to retrieve Ignite pods IP addresses. The port is set with value passed to constructor. Make sure that all Ignite pods occupy a similar ClientConnector port, otherwise they will not be able to connect each other using this address finder.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ThinClientKubernetesAddressFinder(KubernetesConnectionConfiguration cfg)`
    `ThinClientKubernetesAddressFinder(KubernetesConnectionConfiguration cfg, int port)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String[]` | `getAddresses()` Get addresses of Ignite server nodes within a cluster.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ThinClientKubernetesAddressFinder

          public ThinClientKubernetesAddressFinder(KubernetesConnectionConfiguration cfg)

      Parameters:
        `cfg` - Kubernetes connection configuration.

    - #### ThinClientKubernetesAddressFinder

          public ThinClientKubernetesAddressFinder(KubernetesConnectionConfiguration cfg,
                                                   int port)

      Parameters:
        `cfg` - Kubernetes connection configuration.
        `port` - Port that Ignite uses to listen client connections.

  - ### Method Detail

    - #### getAddresses

          public String[] getAddresses()

      Get addresses of Ignite server nodes within a cluster. An address can be IPv4 address or hostname, with or without port. If port is not set then Ignite will generate multiple addresses for default port range. See `ClientConnectorConfiguration.DFLT_PORT`, `ClientConnectorConfiguration.DFLT_PORT_RANGE`.
      Specified by:
        `getAddresses` in interface `ClientAddressFinder`
      Returns:
        Addresses of Ignite server nodes within a cluster.

${current.year} Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.15.0
Release Date | : April 25 2023