blob: 72c9721495842fb30949286c457cf9d26b2efc9b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (1.8.0_241) on Thu Oct 15 12:23:34 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TcpDiscoveryKubernetesIpFinder (Ignite 2.9.0)</title>
<meta name="date" content="2020-10-15">
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TcpDiscoveryKubernetesIpFinder (Ignite 2.9.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TcpDiscoveryKubernetesIpFinder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html" target="_top">Frames</a></li>
<li><a href="TcpDiscoveryKubernetesIpFinder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.discovery.tcp.ipfinder.kubernetes</div>
<h2 title="Class TcpDiscoveryKubernetesIpFinder" class="title">Class TcpDiscoveryKubernetesIpFinder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder">org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.discovery.tcp.ipfinder.kubernetes.TcpDiscoveryKubernetesIpFinder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">TcpDiscoveryKubernetesIpFinder</span>
extends <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinderAdapter</a></pre>
<div class="block">IP finder for automatic lookup of Ignite nodes running in Kubernetes environment. All Ignite nodes have to deployed
as Kubernetes pods in order to be discovered. An application that uses Ignite client nodes as a gateway to the
cluster is required to be containerized as well. Applications and Ignite nodes running outside of Kubernetes will
not be able to reach the containerized counterparts.
<p>
The implementation is based on a distinct Kubernetes service that has to be created and should be deployed prior
Ignite nodes startup. The service will maintain a list of all endpoints (internal IP addresses) of all containerized
Ignite pods running so far. The name of the service must be equal to <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setServiceName-java.lang.String-"><code>setServiceName(String)</code></a> which is
`ignite` by default.
<p>
As for Ignite pods, it's recommended to label them in such a way that the service will use the label in its selector
configuration excluding endpoints of irrelevant Kubernetes pods running in parallel.
<p>
The IP finder, in its turn, will call this service to retrieve Ignite pods IP addresses. The port will be
either the one that is set with <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPort-int-"><code>TcpDiscoverySpi.setLocalPort(int)</code></a> or <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT"><code>TcpDiscoverySpi.DFLT_PORT</code></a>.
Make sure that all Ignite pods occupy a similar discovery port, otherwise they will not be able to discover each
other using this IP finder.
<h2 class="header">Optional configuration</h2>
<ul>
<li>The Kubernetes service name for IP addresses lookup (see <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setServiceName-java.lang.String-"><code>setServiceName(String)</code></a>)</li>
<li>The Kubernetes service namespace for IP addresses lookup (see <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setNamespace-java.lang.String-"><code>setNamespace(String)</code></a></li>
<li>The host name of the Kubernetes API server (see <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setMasterUrl-java.lang.String-"><code>setMasterUrl(String)</code></a>)</li>
<li>Path to the service token (see <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setAccountToken-java.lang.String-"><code>setAccountToken(String)</code></a></li>
<li>To include not-ready pods (see <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#includeNotReadyAddresses-boolean-"><code>includeNotReadyAddresses(boolean)</code></a></li>
</ul>
<p>
Both <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#registerAddresses-java.util.Collection-"><code>registerAddresses(Collection)</code></a> and <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#unregisterAddresses-java.util.Collection-"><code>unregisterAddresses(Collection)</code></a> have no effect.
<p>
Note, this IP finder is only workable when it used in Kubernetes environment.
Choose another implementation of <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder"><code>TcpDiscoveryIpFinder</code></a> for local
or home network tests.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.spi.discovery.tcp.ipfinder.<a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinderAdapter</a></h3>
<code><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#ignite">ignite</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#TcpDiscoveryKubernetesIpFinder--">TcpDiscoveryKubernetesIpFinder</a></span>()</code>
<div class="block">Creates an instance of Kubernetes IP finder.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#getRegisteredAddresses--">getRegisteredAddresses</a></span>()</code>
<div class="block">Gets all addresses registered in this finder.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#includeNotReadyAddresses-boolean-">includeNotReadyAddresses</a></span>(boolean&nbsp;includeNotReadyAddresses)</code>
<div class="block">Determines whether addresses of not-ready pods should be included.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#registerAddresses-java.util.Collection-">registerAddresses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addrs)</code>
<div class="block">Registers new addresses.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setAccountToken-java.lang.String-">setAccountToken</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;accountToken)</code>
<div class="block">Specifies the path to the service token file.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setMasterUrl-java.lang.String-">setMasterUrl</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;master)</code>
<div class="block">Sets the host name of the Kubernetes API server.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setNamespace-java.lang.String-">setNamespace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
<div class="block">Sets the namespace the Kubernetes service belongs to.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#setServiceName-java.lang.String-">setServiceName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;service)</code>
<div class="block">Sets the name of Kubernetes service for Ignite pods' IP addresses lookup.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html#unregisterAddresses-java.util.Collection-">unregisterAddresses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addrs)</code>
<div class="block">Unregisters provided addresses.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.spi.discovery.tcp.ipfinder.<a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinderAdapter</a></h3>
<code><a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#close--">close</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#discoveryClientMode--">discoveryClientMode</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#initializeLocalAddresses-java.util.Collection-">initializeLocalAddresses</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#isShared--">isShared</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#onSpiContextDestroyed--">onSpiContextDestroyed</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#onSpiContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onSpiContextInitialized</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#setShared-boolean-">setShared</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#spiContext--">spiContext</a>, <a href="../../../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TcpDiscoveryKubernetesIpFinder--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TcpDiscoveryKubernetesIpFinder</h4>
<pre>public&nbsp;TcpDiscoveryKubernetesIpFinder()</pre>
<div class="block">Creates an instance of Kubernetes IP finder.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getRegisteredAddresses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredAddresses</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;getRegisteredAddresses()
throws <a href="../../../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Gets all addresses registered in this finder.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>All known addresses, potentially empty, but never <code>null</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of error.</dd>
</dl>
</li>
</ul>
<a name="registerAddresses-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerAddresses</h4>
<pre>public&nbsp;void&nbsp;registerAddresses(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addrs)
throws <a href="../../../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Registers new addresses.
<p>
Implementation should accept duplicates quietly, but should not register address if it
is already registered.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addrs</code> - Addresses to register. Not <code>null</code> and not empty.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of error.</dd>
</dl>
</li>
</ul>
<a name="unregisterAddresses-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterAddresses</h4>
<pre>public&nbsp;void&nbsp;unregisterAddresses(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addrs)
throws <a href="../../../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Unregisters provided addresses.
<p>
Implementation should accept addresses that are currently not
registered quietly (just no-op).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addrs</code> - Addresses to unregister. Not <code>null</code> and not empty.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of error.</dd>
</dl>
</li>
</ul>
<a name="setServiceName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServiceName</h4>
<pre>public&nbsp;void&nbsp;setServiceName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;service)</pre>
<div class="block">Sets the name of Kubernetes service for Ignite pods' IP addresses lookup. The name of the service must be equal
to the name set in service's Kubernetes configuration. If this parameter is not changed then the name of the
service has to be set to 'ignite' in the corresponding Kubernetes configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>service</code> - Kubernetes service name for IP addresses lookup. If it's not set then 'ignite' is used by default.</dd>
</dl>
</li>
</ul>
<a name="setNamespace-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNamespace</h4>
<pre>public&nbsp;void&nbsp;setNamespace(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
<div class="block">Sets the namespace the Kubernetes service belongs to. By default, it's supposed that the service is running under
Kubernetes `default` namespace.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>namespace</code> - The Kubernetes service namespace for IP addresses lookup.</dd>
</dl>
</li>
</ul>
<a name="setMasterUrl-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMasterUrl</h4>
<pre>public&nbsp;void&nbsp;setMasterUrl(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;master)</pre>
<div class="block">Sets the host name of the Kubernetes API server. By default the following host name is used:
'https://kubernetes.default.svc.cluster.local:443'.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>master</code> - The host name of the Kubernetes API server.</dd>
</dl>
</li>
</ul>
<a name="setAccountToken-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAccountToken</h4>
<pre>public&nbsp;void&nbsp;setAccountToken(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;accountToken)</pre>
<div class="block">Specifies the path to the service token file. By default the following account token is used:
'/var/run/secrets/kubernetes.io/serviceaccount/token'.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>accountToken</code> - The path to the service token file.</dd>
</dl>
</li>
</ul>
<a name="includeNotReadyAddresses-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>includeNotReadyAddresses</h4>
<pre>public&nbsp;void&nbsp;includeNotReadyAddresses(boolean&nbsp;includeNotReadyAddresses)</pre>
<div class="block">Determines whether addresses of not-ready pods should be included. Default is false.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>includeNotReadyAddresses</code> - Flag to include not-ready pods.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TcpDiscoveryKubernetesIpFinder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/ignite/spi/discovery/tcp/ipfinder/kubernetes/TcpDiscoveryKubernetesIpFinder.html" target="_top">Frames</a></li>
<li><a href="TcpDiscoveryKubernetesIpFinder.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2020 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.9.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; October 15 2020 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>