Hi.

In k8s you have to use only one port instead of port range for discovery
and communication between instances [1], because you cannot specify a port
range that POD exposes. Moreover, you have to be sure that instances in the
cluster see each other, so you have to use special discovery SPI. By
default, if you start visor in the POD where you have one instance started,
then visor cannot obtain the same port and uses another from a range, and
as a result it doesn't see other nodes in the cluster or see only one node
in the POD where it has been started.

If this is the case, then I'd recommend to start a separate POD with the
same config but with another CMD, which doesn't start a server node, but
runs a sleep loop instead, in order that k8s won't kill the POD. Then you
can 'exec -- bash' and start the visor/sqlline/control with the same config
that you've provided for other instances.

[1] https://apacheignite.readme.io/docs/network-config

Hope it will help.

​
Arseny Kovalchuk

Senior Software Engineer at Synesis
skype: arseny.kovalchuk
mobile: +375 (29) 666-16-16
​LinkedIn Profile <http://www.linkedin.com/in/arsenykovalchuk/en>​

On 8 April 2018 at 16:30, David Harvey <dhar...@jobcase.com> wrote:

> You have 4 nodes running, but are they part of a single cluster?   If you
> look at the log file for one of the server nodes, has it connected to 4
> servers or only one?
>
> PS.  I've found this avoids the need to look up the URL
> "bin/ignitevisor.sh -cfg=$CONFIG_URI".
>
> On Sat, Apr 7, 2018 at 8:40 AM, vbm <bmvish...@gmail.com> wrote:
>
>> Hi,
>>
>> I have deployed 4 pods (ignite server) on a  K8s cluster. I am using
>> ignite
>> 2.3 docker image.
>> I have followed the steps from the  link
>> <https://apacheignite.readme.io/docs/kubernetes-deployment>  .
>>
>> Inside the container, I can see the ignite process running with the config
>> file:
>>
>> root        54    12  0 11:20 ?        00:00:34 /docker-java-home/bin/java
>> -Xms512m -Xmx1536m -XX:+AlwaysPreTouch -XX:+UseG1GC
>> -XX:+ScavengeBeforeFullGC -XX:+DisableExplicitGC -DIGNITE_QUIET=true
>> -DIGNITE_SUCCESS_FILE=/opt/ignite/apache-ignite-fabric-2.3.
>> 0-bin/work/ignite_success_22e88558-2de7-4b54-b0c4-e958859baa57
>> -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=49112
>> -Dcom.sun.management.jmxremote.authenticate=false
>> -Dcom.sun.management.jmxremote.ssl=false
>> -DIGNITE_HOME=/opt/ignite/apache-ignite-fabric-2.3.0-bin
>> -DIGNITE_PROG_NAME=/opt/ignite/apache-ignite-fabric-2.3.0-
>> bin/bin/ignite.sh
>> -cp
>> /opt/ignite/apache-ignite-fabric-2.3.0-bin/libs/*:/opt/ignit
>> e/apache-ignite-fabric-2.3.0-bin/libs/ignite-indexing/*:/
>> opt/ignite/apache-ignite-fabric-2.3.0-bin/libs/ignite-spring
>> /*:/opt/ignite/apache-ignite-fabric-2.3.0-bin/libs/licenses/*
>> org.apache.ignite.startup.cmdline.CommandLineStartup
>> *file:////tmp/ignite/ignite-config.xml*
>> root       866   271  0 12:32 ?        00:00:00 grep ignite
>>
>>
>> From inside the container, when I try to connect using same config file in
>> the ignite visor console.
>>
>> Command to connect to the cluster:
>> visor> open -cpath=/tmp/ignite/ignite-config.xml
>>
>> +------------------------------------------------------+
>> | Status               | Connected                     |
>> | Ignite instance name | <default>                     |
>> | Config path          | /tmp/ignite/ignite-config.xml |
>> | Uptime               | 00:00:00                      |
>> +------------------------------------------------------+
>> visor>
>> *visor> node
>> (wrn) <visor>: Topology is empty.*
>>
>> When I do a curl request using below command, I get the list of topology
>> as
>> expected.
>> curl 'http://10.254.61.219:8080/ignite?cmd=top' | jq
>>
>> I think it is not able to discover the other pods. How to use the ignite
>> visor script in a K8s environment ?
>>
>> Regards,
>> Vishwas
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>
>
>
> *Disclaimer*
>
> The information contained in this communication from the sender is
> confidential. It is intended solely for use by the recipient and others
> authorized to receive it. If you are not the recipient, you are hereby
> notified that any disclosure, copying, distribution or taking action in
> relation of the contents of this information is strictly prohibited and may
> be unlawful.
>
> This email has been scanned for viruses and malware, and may have been
> automatically archived by *Mimecast Ltd*, an innovator in Software as a
> Service (SaaS) for business. Providing a *safer* and *more useful* place
> for your human generated data. Specializing in; Security, archiving and
> compliance. To find out more Click Here
> <http://www.mimecast.com/products/>.
>

Reply via email to